Mikhail Sukhov
|
Дата: 18.04.2011
|
|
|
|
skuvv Может кто-нибудь провести небольшой тест на производительность гидры? Интересует следущее: 1)Скорость работы с пустой стратегией(скорость БД)
Провел на прошлой неделе в связи с перепиской на Пауке (VovaM пробудил во мне дух экспериментатора). Код теста: Кодvar tradesList = new List<Trade>();
var sec = new Security { Id = "Test", MinStepSize = 1, };
for (int i = 0; i < 1000000; i++) { tradesList.Add(new Trade { Id = i + 1, Time = DateTime.Now, Volume = 1, Price = i + 1, Security = sec, }); }
var storage = new TradingStorage(new InMemoryStorage()).GetTradeStorage(sec);
for (int i = 0; i < 10; i++) { var t1 = Watch.Do(() => storage.Save(tradesList));
Console.WriteLine("Save " + t1.TotalSeconds);
t1 = Watch.Do(() => storage.Load(DateTime.Today, DateTime.Today + TimeSpan.FromDays(1)));
Console.WriteLine("Load " + t1.TotalSeconds);
storage.Clear(); } Лог: Save 2,4549736 Load 1,9197791 Save 2,4140177 Load 1,8035063 Save 2,2879743 Load 1,9261216 Save 2,2793862 Load 1,8305467 Save 2,2944878 Load 1,906156 Save 2,2963548 Load 1,8314007 Save 2,2915443 Load 1,9035638 Save 2,2878426 Load 1,8184946 Save 2,2966087 Load 1,9067813 Save 2,2889033 Load 1,8128531 Save не так интересен, а вот Load говорит, что примерно 500-600 тыс. сделок в секунду записывается. Не особо много, но компактно. 1 млн тиков всего 5.8 мегов.
|
Mikhail Sukhov
|
Дата: 08.06.2011
В готовящемся 3.2 показатели изменились на следующие цифры: Save 3,1656562 Load 1,1575692 Save 2,9880088 Load 1,070883 Save 2,9969494 Load 1,07221 Save 3,0042629 Load 1,0663524 Save 3,0111572 Load 1,0836235 Save 2,9845999 Load 1,0831801 Save 2,9833728 Load 1,0779385 Save 2,9818423 Load 1,1007264 Save 2,9891292 Load 1,1126078 Save 2,9862511 Load 1,0903631 Load теперь записывает около 1 млн сделок в секунду. Увеличение почти в 2 раза. Постарался Миша М.
|