Господа! Камрады!
Сейчас мигрировал на версию библиотеки 4.2.2.2. Внёс правки, касаемые кода (кстати, в хелпе неплохо бы поменять trader на connector в примерах тестов, но не суть). Так, вот, код, работавший в 4.1.19.1 примерно 10-15 минут на 1 день тестов сейчас стал работать ну очень долго. Особых "новшеств" от себя не вносил - лишь такие:
trader.RegisterMarketDepth(new TrendMarketDepthGenerator(trader.GetSecurityId(security))
{
Interval = TimeSpan.FromMilliseconds(1),
MaxAsksDepth = 10,
MaxBidsDepth = 10,
UseTradeVolume = true,
MaxVolume = 10,
MinSpreadStepCount = 1,
MaxSpreadStepCount = 1,
});
var trader = new HistoryEmulationConnector(new[] { security }, new[] { portfolio })
{
StorageRegistry = storageRegistry,
MarketEmulator =
{
Settings = { UseMarketDepth = true, SyncDepthToTrades = true, FillOnTouch = true, }
}
};
((MessageAdapter)trader.MarketDataAdapter).MarketTimeChangedInterval = TimeSpan.FromMilliseconds(1);
Подскажите, плз, 2 вещи.
- Я один такой неудачник или же у всех скорость снизилась?
- В чём сакральный смысл параметров Interval и MarketTimeChangedInterval?
Да, ещё памяти стало приложение кушать раз в 5-6 больше так. В какую сторону копать?
Заранее спасибо!
コメント (5)
ログイン または アカウントを作成, コメントを残すにはログインまたは新規登録してください
((MessageAdapter)trader.MarketDataAdapter).MarketTimeChangedInterval = TimeSpan.FromMilliseconds(1);
В следующей версии будет чуть исправлена ситуация со скоростью. Трассировщик показал, что самый медленный участок в примере - это генерация свечек. Как раз то, что не менялось пока вообще. Так что я не уверен насчет корректности замеров. Какие параметры были выставлены при тестировании?
Михаил,
Тестировал я на оригинальных SampleHistoryTestingParallel версий 4.1.19.1 и 4.2.2.2 с использованием оригинальных параметров, которые, насколько я могу судить, в обоих примерах идентичны. Сегодня повторил тесты и получил схожие результаты: API 4.1.19.1 - тестирование заняло примерно 3мин, объем потребляемой памяти на конец теста - 1832Мб API 4.2.2.2 - тестирование заняло примерно 13мин 20сек, объем потребляемой памяти на конец теста - 1590Мб
Длительность тестов я брал из окошка, которое появляется когда тест окончен ```csharp MessageBox.Show("Закончено за " + (DateTime.Now - _startEmulationTime))
Михаил, если есть возможность хоть как-то ускорить тестирование, пожалуйста, используйте ее.
Попробуйте проверить кончилась ли лицензия, если да то обновите. Мне помогло.