C-Dash: replace s3-logs by logs
[csit.git] / PyPI / MLRsearch / README.rst
index 92c2afe..bec1b77 100644 (file)
@@ -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