Closed jmerle closed 3 years ago
Summary of the latest changes:
if (inst is Exception)
that was lost in a previous rebase (https://github.com/QuantConnect/pythonnet/blob/1.0.5.30/src/runtime/clrobject.cs#L33).New benchmarks:
Debug: Algorithm Id:(IndicatorRibbonBenchmark) completed in 62,48 seconds at 25k data points per second. Processing total of 1.578.463 data points.
Debug: Algorithm Id:(IndicatorRibbonBenchmark) completed in 62,13 seconds at 25k data points per second. Processing total of 1.578.463 data points.
Debug: Algorithm Id:(IndicatorRibbonBenchmark) completed in 63,80 seconds at 25k data points per second. Processing total of 1.578.463 data points.
Average time: 62,80 seconds (-57.8% against Python.NET debug master, -29.4% against Python.NET release master)
What does this implement/fix? Explain your changes.
This PR improves property access performance considerably:
PyObjectConversions
with a normal dictionary and added aCount == 0
check before callingTryGetValue
on it.This PR adds 36 tests covering Python code getting/setting C# properties/fields. The changes pass these tests and all of LEAN's regression tests.
Unrelated changes:
IndicatorRibbonBenchmark benchmarks (we currently use a Python.NET debug build in production):
Does this close any currently open issues?
Closes #50.
Any other comments?
No.
Checklist
Check all those that are applicable and complete.
AUTHORS
CHANGELOG