Performance discussion
See original GitHub issueHi, Karl @lppkarl After first research of library i started some more serious development 😃 And first and the biggest problem that I faced now is performance. i just run some code in release configuration
var buyRule = Rule.Create(c => c.IsEmaBullishCross(3, 7));
var sellRule = Rule.Create(c => c.IsEmaBearishCross(3, 7));
var importer = new CsvImporter(setting.CsvPath);
IReadOnlyList<IOhlcv> candles = await importer.ImportAsync(setting.Symbol);
_logger.LogInformation($"Readed {candles.Count} of record, start backtest: ", setting);
var runner = new Builder()
.Add(candles)
.Buy(buyRule )
.Sell(sellRule )
.Build();
Result result = await runner.RunAsync(setting.Amount);
Where i have just 1 month of candles for each minute, it is 40 320 candles. And it is executed 15 minutes. Looks like all time was consumed by evaluating rules. Is that something that you expect? Did you plan to use the library for those volumes of data?
I also playing with https://enigmampc.github.io/catalyst/index.html but i don’t like Python 😃 Will comment if i will test the same calculation with Catalyst.
Do you have any thoughts or plans about speedup?
Issue Analytics
- State:
- Created 6 years ago
- Comments:10 (4 by maintainers)
Top Results From Across the Web
7 Discussion Points to Cover during Performance ...
7 Discussion Points to Cover during Performance Conversations ; 1. Objectives and SMART Goals ; 2. Personal Development and Career Growth ; 3....
Read more >How to Conduct a Great Performance Review
The purpose of performance reviews is two-fold: an accurate and actionable evaluation of performance, and then development of that person's ...
Read more >7 Things That You Must Discuss In Every Performance ...
A performance discusson is an integral part of an organization. It helps in finding potential employees and providing them with the right opportunities...
Read more >How to Write an Effective Performance Review
Employee performance reviews should cover communication, collaboration, reliability, work quality, problem-solving, and timeliness.
Read more >3 Ways to Improve Performance Management Conversations
Performance review conversations are a key element of performance management, but they aren't isolated events that only happen at year-end.
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
@lppkarl I just added a pull request (#62 ) with some benchmarks. Looks like Dymoi maybe another problem.
@irperez thank you very much for the benchmark, seems dymoi really takes too much time to compute when compared to the others, i’ll take a look of it first.