X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=PyPI%2FMLRsearch%2FREADME.rst;h=8439fe71a1d3043d4629fe6ab30636cf97bd710c;hb=HEAD;hp=92c2afe484851b7e15c543b8f53b4aeb8f200d4f;hpb=e5dbe10d9599b9a53fa07e6fadfaf427ba6d69e3;p=csit.git diff --git a/PyPI/MLRsearch/README.rst b/PyPI/MLRsearch/README.rst index 92c2afe484..bec1b7749e 100644 --- a/PyPI/MLRsearch/README.rst +++ b/PyPI/MLRsearch/README.rst @@ -9,26 +9,15 @@ in CSIT_ (Continuous System and Integration Testing) project of fd.io_ (Fast Data), one of LFN_ (Linux Foundation Networking) projects. In order to make this code available in PyPI_ (Python Package Index), -the setuputils stuff has been added, -but after some discussion, the export directory_ -is only a symlink to the original place of tightly coupled CSIT code. +the setuputils stuff (later converted to pyproject.toml) has been added, +but after some discussion, that directory_ ended up having +only a symlink to the original place of tightly coupled CSIT code. -Change log ----------- - -1.0.0: Logic improvements, independent selectors, exceed ratio support, -better width rounding, conditional throughput as output. -Implementation relies more on dataclasses, code split into smaller files. -API changed considerably, mainly to avoid long argument lists. - -0.4.0: Considarable logic improvements, more than two target ratios supported. -API is not backward compatible with previous versions. +IETF documents +-------------- -0.3.0: Migrated to Python 3.6, small code quality improvements. - -0.2.0: Optional parameter "doublings" has been added. - -0.1.1: First officially released version. +The currently published `IETF draft`_ describes the logic of version 1.2.0, +earlier library and draft versions do not match each other that well. Usage ----- @@ -106,7 +95,7 @@ This is the screen capture of interactive python interpreter ... relative_width=0.005, ... initial_trial_duration=1.0, ... final_trial_duration=1.0, - ... duration_sum=61.0, + ... duration_sum=21.0, ... preceding_targets=2, ... expansion_coefficient=2, ... ) @@ -122,33 +111,46 @@ This is the screen capture of interactive python interpreter >>> result = controller.search(measurer=Hard1MppsMeasurer(), debug=print_dot) .................................................................................... .................................................................................... - .................................................................................... - .................................................................................... - .................................................................................... - .................................................................................... - ...>>> print(result) + ...................>>> print(result) {SearchGoal(loss_ratio=0.0, exceed_ratio=0.005, relative_width=0.005, initial_trial_ - duration=1.0, final_trial_duration=1.0, duration_sum=61.0, preceding_targets=2, expa - nsion_coefficient=2): fl=997497.6029392382,s=(gl=61.0,bl=0.0,gs=0.0,bs=0.0), SearchG - oal(loss_ratio=0.005, exceed_ratio=0.005, relative_width=0.005, initial_trial_durati - on=1.0, final_trial_duration=1.0, duration_sum=61.0, preceding_targets=2, expansion_ - coefficient=2): fl=1002508.6747611101,s=(gl=61.0,bl=0.0,gs=0.0,bs=0.0)} + duration=1.0, final_trial_duration=1.0, duration_sum=21.0, preceding_targets=2, expa + nsion_coefficient=2, fail_fast=True): fl=997497.6029392382,s=(gl=21.0,bl=0.0,gs=0.0, + bs=0.0), SearchGoal(loss_ratio=0.005, exceed_ratio=0.005, relative_width=0.005, init + ial_trial_duration=1.0, final_trial_duration=1.0, duration_sum=21.0, preceding_targe + ts=2, expansion_coefficient=2, fail_fast=True): fl=1002508.6747611101,s=(gl=21.0,bl= + 0.0,gs=0.0,bs=0.0)} >>> print(f"NDR conditional throughput: {float(result[ndr_goal].conditional_throughp ut)}") NDR conditional throughput: 997497.6029392382 >>> print(f"PDR conditional throughput: {float(result[pdr_goal].conditional_throughp ut)}") PDR conditional throughput: 1000000.6730730429 + >>> + +Change log +---------- + +1.2.1: Updated the readme document. -Operation logic ---------------- +1.2.0: Changed the output structure to use Goal Result as described in draft-05. + +1.1.0: Logic improvements, independent selectors, exceed ratio support, +better width rounding, conditional throughput as output. +Implementation relies more on dataclasses, code split into smaller files. +API changed considerably, mainly to avoid long argument lists. -The currently published `IETF draft`_ describes the logic of version 0.4, -the logic of version 1.0 will be descibed better in the next draft version (-05). +0.4.0: Considarable logic improvements, more than two target ratios supported. +API is not backward compatible with previous versions. + +0.3.0: Migrated to Python 3.6, small code quality improvements. + +0.2.0: Optional parameter "doublings" has been added. + +0.1.1: First officially released version. .. _CSIT: https://wiki.fd.io/view/CSIT .. _fd.io: https://fd.io/ .. _LFN: https://www.linuxfoundation.org/projects/networking/ .. _PyPI: https://pypi.org/project/MLRsearch/ -.. _directory: https://gerrit.fd.io/r/gitweb?p=csit.git;a=tree;f=PyPI/MLRsearch;hb=refs/heads/master -.. _IETF draft: https://tools.ietf.org/html/draft-ietf-bmwg-mlrsearch-04 +.. _directory: https://gerrit.fd.io/r/gitweb?p=csit.git;a=tree;f=PyPI/MLRsearch +.. _IETF draft: https://tools.ietf.org/html/draft-ietf-bmwg-mlrsearch-05