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