list perf "zoomout" numbers run with interleaving and observation disabled, which removes an anomaly and reproduces the "zoomin" numbers in the "sweet spot"
Simplify doing a manual one-off run. Disable harness's iterators on "zoomout" plots. Remove cfa-strip and add lq-list for "zoomout" plots. Add more exploratory analyses.
Data and analysis associated with harness of commit 78bc398830.
Analysis change narrows the sweet-spot zone to where CFA is not misbehaving on queues and where general noise is reduced.
Revised plots are going into thesis doc, but commentary/focus has not shifted accordingly. Notably, the CFA-attribution analysis is now mostly obviated.
Various changes motivated by improving CFA score on len-1 queues.
No such CFA score improvement achieved. Each change helped only on stripped-down, "try to isolate an important factor" tests. Generally, the changes are benign refactorings. (Results substantiating "don't hurt" are forthcoming.)
Libcfa changes are - move a read action from between the memory breaks to before them - make the memory breaks conditionally excluded (default included, as before)
Harness changes are - add width, a compiled-in number of lists to use in round-robin order; defaults to 1, which is what was happening all along - make the analysis scripts tolerate (so far, ignore) the width column - rename CLI arg NumNodes to Length (now NumNodes is Length * Width) - factor core testing loops into helper function `runtest` - switch to signal-based termination (and add uC++ work-around) - put "iterator threading" into ITERS_SAVE, joining preexisting "save iter into elem's self ref"; make iterator threading conditional on iterators-active - disable insertion loop counter and obs_*-variable declarations (and thus writes) when observation disabled - generalize observation to work on multiple lists - make observation and assertion-check-enabled mode work on stripped CFA list implementations like tagging-disabled - through this observation, ensure correctness of multi-list versions