Recentemente vi um post do Ayende com a seguinte questão: Quantos objetos podem ser criados por segundo? Conversando com os amigos num Pub, houve chutes de 2.000, 5.000 ou 50.000 objetos por segundo. Então ele fez um teste e para a surpresa dele, o resultado foi 7.000.000 de objetos, isso mesmo, 7 milhões de objetos criados em apenas um segundo com uma aplicação Console.
Fiz o mesmo teste e meu resultado foi melhor: 14.106.434, mais de 14 milhões de objetos por segundo.
Faça o teste em sua máquina, crie uma aplicação console e cole esse código:
public class MyClass
{
public string A;
public int B;
public DateTime C;
}
class Program
{
static void Main(string[] args)
{
while (true)
{
Start();
var k = Console.ReadKey();
if (k.Key != ConsoleKey.Enter) break;
}
}
static void Start()
{
var sp = System.Diagnostics.Stopwatch.StartNew();
int i = 0;
while (sp.ElapsedMilliseconds < 1000)
{
new MyClass();
i++;
}
sp.Stop();
Console.WriteLine("Create {0} in {1}", i, sp.Elapsed);
}
}
Faça o teste e comente aqui seu resultado.
Notei que de DEBUG para RELEASE tem uma pequena diferença...
ResponderExcluirDebug: Create 430147 in 00:00:01.0000114
Release: Create 467924 in 00:00:01.0000039
Esqueci... Tô rodando em um core duo 1.6Ghz
ResponderExcluir652457 objetos, core 2 duo 2.2ghz
ResponderExcluir