Performance test
Atom Ответить
21.03.2011


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



Спасибо:




2 Ответов
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 раза. Постарался Миша М.
Спасибо:


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy