QuantConnect / pythonnet

Python for .NET is a package that gives Python programmers nearly seamless integration with the .NET Common Language Runtime (CLR) and provides a powerful application scripting tool for .NET developers.
http://pythonnet.github.io
MIT License
28 stars 27 forks source link

Improve Indicator Performance Benchmark #24

Closed Martin-Molinero closed 5 years ago

Martin-Molinero commented 5 years ago

What does this implement/fix? Explain your changes.

How Has This Been Tested?

Tested exeucting QuantConnect unit and regression tests and indicator performance benchmark:

[MASTER] imagen [PR] imagen

[MASTER] 160.95 seconds at 5k data points per second. Processing total of 782,223 data points. 158.54 seconds at 5k data points per second. Processing total of 782,223 data points. 159.95 seconds at 5k data points per second. Processing total of 782,223 data points. [PR] 132.27 seconds at 6k data points per second. Processing total of 782,223 data points. 130.07 seconds at 6k data points per second. Processing total of 782,223 data points. 129.88 seconds at 6k data points per second. Processing total of 782,223 data points.

[PR] has a 15-20% speed improvement.

Note Testing showed no signficant impact on the BasicTemplateAlgorithm performance benchmark: python_benchmark_algo.txt

Does this close any currently open issues?

Related to https://github.com/QuantConnect/Lean/issues/2925