Performance test
Atom
3/21/2011
skuvv


Может кто-нибудь провести небольшой тест на производительность гидры?
Интересует следущее:
1)Скорость работы с пустой стратегией(скорость БД)
2)Сделать произвольный ордер на первых данных и записывать в массив на каждом тике PnL и drawdown (хотя бы от стартового капитала)
ps кол-во тиков хотя бы от 10милионов
pps если памяти не хватит на 2) очищять бд накопленные данные на начало(или конец) сессии



Thanks:


Mikhail Sukhov

Avatar
Date: 4/18/2011
Reply


skuvv
Может кто-нибудь провести небольшой тест на производительность гидры?
Интересует следущее:
1)Скорость работы с пустой стратегией(скорость БД)


Провел на прошлой неделе в связи с перепиской на Пауке (VovaM пробудил во мне дух экспериментатора). Код теста:

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

Mikhail Sukhov

Avatar
Date: 6/8/2011
Reply


В готовящемся 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 раза. Постарался Миша М.
Thanks:


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy