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 мегов.