You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
rfac: Performance improvement to recalculateBins (#113)
* Add performance tests for Histogram method `recalculateBins` and run `swift test --generate-linuxmain`.
* rfac: Faster algorithm for `recalculateBins` which is one of the main culprits in slowing down the tests.
* rfac: Add `isSorted` flag to `HistogramSeries` and improve the performance of `recalculateBins`
This flag is set if `data` is sorted and unset if the user sets the `data` property on the series manually, it is used to choose the fastest algorithm for `recalculateBins`.
* rfac: Clean up calculateSeriesData.
* docs: Add comments explaining both algorithms and their performance.
* chor: val -> value
* rfac: use `max` function and in the second algorithm hoist it out of the loop for better performance. Improve/update comments.
* Attempt to add Big-O notation to the algorithms... is this right?
* doc: add comment
* doc: update comment
* change class back to struct and run `swift test --generate-linuxmain`
* [docs][chor] improve comment on `isSorted` and change `true` to `binIndex < binEndIndex` as suggested in PR#113
* rfac: strip `recalculateBins` down to one algorithm that does not require `data` to be sorted and update tests
* rfac: update tests manifest
* rfac: don't sort the data in the initialiser
* bfix: fix code that took advantage of the data being sorted without actually being sure of that
* docs: Improve comments about workaround
* rfac: Create new test suite for performance tests
0 commit comments