feat(jumpavg): speed up, use Python 3.8 features 26/36826/6
authorVratko Polak <vrpolak@cisco.com>
Tue, 9 Aug 2022 12:56:15 +0000 (14:56 +0200)
committerTibor Frank <tifrank@cisco.com>
Mon, 15 Aug 2022 10:58:57 +0000 (10:58 +0000)
commit4bfbd4d72ad53eb1694868c19640c8b4a17d32cb
tree0a566caa3a9ce141f8045bf22c395833355f3a7c
parentc1b770bc71eda83468c0e2a97c851b831b76641b
feat(jumpavg): speed up, use Python 3.8 features

+ The main speedup comes from abandoning copy.deepcopy(),
  doing shallow list copies (at most) and introcuding copy_fast().
+ Turn into dataclasses whenever possible, use type hints.
+ Simplify the partition search code,
 + It is now clearer the time complexity is O(N*(N+n)),
   where N is number of samples, and n is the average size
   of the last group of the current record glist.
+ Used black for formatting, so no u"" anymore.
+ Update metadata for 0.3.0 release.

Change-Id: I302203b4d42aeb22be1128e2fe72353a44eae5d0
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
PyPI/jumpavg/README.rst
PyPI/jumpavg/setup.py
resources/libraries/python/jumpavg/AvgStdevStats.py
resources/libraries/python/jumpavg/BitCountingGroup.py
resources/libraries/python/jumpavg/BitCountingGroupList.py
resources/libraries/python/jumpavg/BitCountingStats.py
resources/libraries/python/jumpavg/classify.py