19 Commits

Author SHA1 Message Date
Martin Molinero 9ec1a41235 Performance improvements
- `PortfolioTargetCollection` avoid calling `Count` on
ConcurrentDictionary directly -> has to take all locks
- `SecurityChanges` change Union for Concat since constructor will call
HashSet
- Make `DynamicSecurityData` hold lazy data objects
- `RegisteredSecurityDataTypesProvider` avoid looping over all
registered types, adding `TryGetType`
- `Security.Update()` will no call group by on data since this data is
already grouped by type. Adding `ContainsFillForwardData` will allows to
be lazy and not re loop through the data unless necessary
- `DefaultAlphaHandler` will use the `static`
`Enumerable.Empty<Insight>` instance when possible
- `SubscriptionSynchronizer` will be lazy to construct the
`universeData` dictionary which is not used in most of the times. Will
use `Count` vs `Any` -> `Count` is known by the dictionary
- For python algorithms `JobQueue` will respect `AlgorithmLocation`, was
using unexisting `"algorithm-path-python"`
2019-10-17 10:26:37 -03:00
Martin Molinero cce87c992d Address review
- Increase time lenght of SmartInsider benchmarks. Adding history
requests
2019-10-16 13:35:05 -03:00
Martin Molinero 0d171a2e70 Add SmartInsider performance benchmark
- Adjust Sec performance benchmark algorithm
2019-10-16 12:15:00 -03:00
Martin Molinero 3fe7838f09 Add Sec report perf branchmark
- Add Sec report performance benchmarks C# and Py
- Add missing `using(Py.Gil)`
2019-10-14 16:53:53 -03:00
Martin Molinero b5c216f7f3 Adding new Coarse performance benchmarks
- Adding stateless and stateful coarse universe selection benchmarks.
Will be used to benchmark future performance improvement.
2019-04-18 12:47:49 -03:00
Martin Molinero 9651df9900 Updating the ScheduledEventBenchmark
- Renaming files from `Schedule...` to `Scheduled...` to match algorithm
name.
- Removed `ScheduledEvents` set every 5 seconds
- Increased the every day `ScheduledEvents` from 200 to 600
2019-02-22 18:57:08 -03:00
Martin Molinero 124af7282e Improve HistoryRequestBenchmark algorithm
- The HistoryRequestBenchmark will now perform a daily and minute history
request at end of day.
- C# performance is at ~15k data points per second
- Python performance is at ~11k data points per second
2019-01-11 18:09:59 -03:00
Michael Handschuh fdc866fda0 Reverting 'Merge pull request #2483 python-history-provider'
We didn't experience the expected performance improvements. Locally under
unit test there was aboout an order of magnitude throughput increase, but
when run against the history benchmark, this new approach was 60% slower.
We're reverting this for now to perform further analysis and better
understand the performance profiling of the python history stack.
2018-09-18 18:37:23 -04:00
AlexCatarino 3e4a71cd50 Creates QCAlgorithm.py: a bridge between C# QCAlgorithm and python algorithms 2018-09-17 19:05:48 +01:00
Stefano Raggi e95863a919 Update Python comparisons to None to use "is None" instead of equality 2018-07-03 00:55:35 +02:00
Jing Wu 6045aa0579 minor change 2018-05-29 17:36:11 -04:00
Jing Wu cbc948a535 add ScheduleEventsBenchmark algorithm 2018-05-26 01:55:00 -04:00
Jing Wu 093d6d56a1 add IndicatorRibbonBenchmark algorithm 2018-05-26 01:54:08 -04:00
Jing Wu 98027e2025 add HistoryRequestBenchmark algorithm 2018-05-26 01:52:45 -04:00
Jing Wu 4481f200ba add CoarseFineUniverseSelectionBenchmark algorithm 2018-05-26 01:51:45 -04:00
Jing Wu a9e4c99715 Add the portfolio check 2018-05-24 17:21:05 -04:00
Jing Wu 442f419aa9 Add EmptyMinute400EquityBenchmark algorithm 2018-05-24 16:42:33 -04:00
Jing Wu 52467e154d Add EmptySingleSecuritySecondEquityBenchmark algorithm 2018-05-24 16:39:54 -04:00
Jing Wu 105208d3dd add BasicTemplateBenchmark algorithm 2018-05-24 16:38:37 -04:00