Skip to content
Success

Changes

add one more item to future work in conclusion
pabuhr at
add tuple-type insert and remove functions to list type
pabuhr at
list perf "zoomout" numbers run with interleaving and observation disabled, which removes an anomaly and reproduces the "zoomin" numbers in the "sweet spot"
mlbrooks at
LL perf: small fixes

Fix off-by-one bug in runtime-no-shuf solution.  Add safety check that interleaving is off.  Re-run.
mlbrooks at
Replace dlist test's sout with printf, to enable testing non-libcfa draft implementations
mlbrooks at
proofread introduction chapter
pabuhr at
Edits in early sections.

Includes explicating the connection between unsafety stats and the three collection types.
mlbrooks at
Revise array's overload-selection comment now that #247 is closed.

The set of overloads required is unaffected, just there's a simpler derivation of this set.
mlbrooks at
fix wording issues in last proofread of array chapter
pabuhr at
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.
mlbrooks at
for opening a file, change to default initialization of mode parameter from overloaded functions; fix fstream initialization bug by calling default constructor in other constructors
pabuhr at
formatting
pabuhr at
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
mlbrooks at
Adjust stripped-harness comparion config to exclude interleaving, matching current general runs
mlbrooks at
try to turn off ARM builds on algol
pabuhr at
2nd attempt to turn off ARM builds on algol
pabuhr at
Add data for Intel host 'java', alongside incumbent AMD host 'swift'.

Revise analysis--presentation to show both side by side.  Remove presentation of CFA Attribution, which is now seen to be chasing a red herring.

Data continue to be from harness of commit 78bc398830.
doc/theses/mike_brooks_MMath/plots/list-cmp-survey-meta.dat doc/theses/mike_brooks_MMath/plots/list-zoomin-rel-swift.d doc/theses/mike_brooks_MMath/plots/list-cmp-exout-swift.d doc/theses/mike_brooks_MMath/plots/list-zoomin-abs-swift.py doc/theses/mike_brooks_MMath/plots/list-cmp-survey.py doc/theses/mike_brooks_MMath/benchmarks/list/results-swift-zoomout-noshuf.csv doc/theses/mike_brooks_MMath/plots/list-cmp-exout.py doc/theses/mike_brooks_MMath/benchmarks/list/results-swift-general.csv doc/theses/mike_brooks_MMath/plots/list-cmp-exout.d doc/theses/mike_brooks_MMath/plots/list-zoomout-noshuf-java.d doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-swift.d doc/theses/mike_brooks_MMath/plots/list-cfa-attrib.py doc/theses/mike_brooks_MMath/plots/list-zoomout-noshuf.py doc/theses/mike_brooks_MMath/benchmarks/list/results-zoomout-shuf.csv doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-swift.gp doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-remelem.gp doc/theses/mike_brooks_MMath/plots/list-zoomin-rel-java.gp doc/theses/mike_brooks_MMath/plots/list-zoomin-abs.gp doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-remelem-java.gp doc/theses/mike_brooks_MMath/plots/list-zoomout-noshuf-java.py doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-meta.dat doc/theses/mike_brooks_MMath/plots/list-cmp-survey-java.py doc/theses/mike_brooks_MMath/plots/list-zoomin-abs-java.py doc/theses/mike_brooks_MMath/benchmarks/list/detail-plots.gp doc/theses/mike_brooks_MMath/plots/list-cmp-survey-java.gp doc/theses/mike_brooks_MMath/plots/list-zoomout-shuf-java.d doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-remelem-java.py doc/theses/mike_brooks_MMath/plots/list-zoomin-rel.gp doc/theses/mike_brooks_MMath/plots/list-zoomin-abs-java.gp doc/theses/mike_brooks_MMath/plots/list-zoomout-noshuf.d doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-remelem-swift.py doc/theses/mike_brooks_MMath/plots/list-zoomout-shuf.py doc/theses/mike_brooks_MMath/plots/list-cmp-survey-swift.gp doc/theses/mike_brooks_MMath/plots/list-cmp-exout-java.d doc/theses/mike_brooks_MMath/plots/list-cmp-exout-java.py doc/theses/mike_brooks_MMath/plots/list-zoomout-shuf-swift.d doc/theses/mike_brooks_MMath/plots/list-zoomout-noshuf-swift.d doc/theses/mike_brooks_MMath/plots/list-zoomout-noshuf-swift.gp doc/theses/mike_brooks_MMath/plots/list-zoomin-abs-swift.d doc/theses/mike_brooks_MMath/plots/list-zoomout-noshuf-swift.py doc/theses/mike_brooks_MMath/list.tex doc/theses/mike_brooks_MMath/plots/list-cmp-exout-swift.py doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-swift.py doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-remelem.d doc/theses/mike_brooks_MMath/plots/list-zoomin-abs-swift.gp doc/theses/mike_brooks_MMath/plots/list-cmp-survey-java.d doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-remelem-meta.dat doc/theses/mike_brooks_MMath/plots/list-zoomin-rel-swift.gp doc/theses/mike_brooks_MMath/plots/list-zoomin-rel-swift.py doc/theses/mike_brooks_MMath/plots/ListCommon.py doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-remelem-swift.gp doc/theses/mike_brooks_MMath/plots/list-zoomout-shuf.d doc/theses/mike_brooks_MMath/plots/list-cmp-survey.d doc/theses/mike_brooks_MMath/plots/list-cfa-attrib.gp doc/theses/mike_brooks_MMath/plots/list-zoomin-rel-java.d doc/theses/mike_brooks_MMath/plots/list-zoomin-abs-java.d doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-remelem.py doc/theses/mike_brooks_MMath/plots/list-cmp-survey-swift.d doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-java.d doc/theses/mike_brooks_MMath/plots/list-zoomout-shuf-java.py doc/theses/mike_brooks_MMath/benchmarks/list/results-general.csv doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-remelem-swift.d doc/theses/mike_brooks_MMath/plots/list-zoomout-shuf-java.gp doc/theses/mike_brooks_MMath/plots/list-cmp-exout-swift.gp doc/theses/mike_brooks_MMath/plots/list-cmp-exout-java.gp doc/theses/mike_brooks_MMath/plots/list-cmp-survey-swift.py doc/theses/mike_brooks_MMath/plots/list-cfa-attrib.d doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-remelem-java.d doc/theses/mike_brooks_MMath/plots/list-cmp-survey.gp doc/theses/mike_brooks_MMath/plots/list-zoomin-rel-java.py doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-java.gp doc/theses/mike_brooks_MMath/plots/list-zoomout-shuf.gp doc/theses/mike_brooks_MMath/plots/list-zoomout-shuf-swift.py doc/theses/mike_brooks_MMath/plots/list-zoomin-abs.d doc/theses/mike_brooks_MMath/plots/list-zoomin-rel.py doc/theses/mike_brooks_MMath/plots/list-zoomin-rel.d doc/theses/mike_brooks_MMath/plots/list-cmp-exout-meta.dat doc/theses/mike_brooks_MMath/plots/list-zoomin-abs.py doc/theses/mike_brooks_MMath/plots/list-zoomout-shuf-swift.gp doc/theses/mike_brooks_MMath/benchmarks/list/results-java-general.csv doc/theses/mike_brooks_MMath/benchmarks/list/results-zoomout-noshuf.csv doc/theses/mike_brooks_MMath/plots/list-zoomout-noshuf.gp doc/theses/mike_brooks_MMath/plots/list-zoomout-noshuf-java.gp doc/theses/mike_brooks_MMath/benchmarks/list/results-java-zoomout-noshuf.csv doc/theses/mike_brooks_MMath/benchmarks/list/results-swift-zoomout-shuf.csv doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-java.py doc/theses/mike_brooks_MMath/plots/list-cmp-exout.gp doc/theses/mike_brooks_MMath/benchmarks/list/results-java-zoomout-shuf.csv
mlbrooks at
move old module work into another folder
doc/proposals/modules-alvin/examples/graph/5_tweaking/graph/node__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/3_export/graph/edge_picker__export.h doc/proposals/modules-alvin/0_type_stubs/graph/0_initial/graph.c doc/proposals/modules-alvin/examples/graph/2_tshell/main.c doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph/node__tshell.h doc/proposals/modules-alvin/examples/graph/0_initial/main.c doc/proposals/modules-alvin/0_type_stubs/graph/3_export/graph.c doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph/edge_picker__export.h doc/proposals/modules-alvin/0_type_stubs/graph/5_tweaking/graph/node__export.h doc/proposals/modules-alvin/examples/graph/0_initial/graph/edge_picker.c doc/proposals/modules-alvin/0_type_stubs/graph/5_tweaking/graph/edge__impl.c doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/main__impl.c doc/proposals/modules-alvin/examples/graph/4_impl/graph/edge_picker.c doc/proposals/modules-alvin/examples/graph/5_tweaking/graph__export.h doc/proposals/modules-alvin/examples/graph/info.md doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph/edge_picker.c doc/proposals/modules-alvin/proposal.md doc/proposals/modules-alvin/examples/graph/5_tweaking/main__impl.c doc/proposals/modules-alvin/examples/graph/2_tshell/graph/edge_picker__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/3_export/graph/node__export.h doc/proposals/modules-alvin/examples/graph/3_export/graph/node__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/5_tweaking/graph/edge__export.h doc/proposals/modules-alvin/examples/graph/0_initial/graph.c doc/proposals/modules-alvin/0_type_stubs/graph/2_tshell/graph/node__tshell.h doc/proposals/modules-alvin/examples/graph/4_impl/graph/node.c doc/proposals/modules-alvin/examples/graph/2_tshell/graph/node__tshell.h doc/proposals/modules-alvin/examples/graph/5_tweaking/graph/edge_picker__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph/edge__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph/node__impl.c doc/proposals/modules-alvin/examples/graph/5_tweaking/graph/node__impl.c doc/proposals/modules-alvin/examples/graph/0_initial/graph/edge.c doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph/edge_picker__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/2_tshell/graph__tshell.h doc/proposals/modules-alvin/examples/graph/4_impl/graph/edge.c doc/proposals/modules-alvin/examples/graph/2_tshell/graph/edge__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/3_export/graph__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/5_tweaking/graph/node__tshell.h doc/proposals/modules-alvin/examples/graph/5_tweaking/graph/edge_picker__impl.c doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph/edge_picker__impl.c doc/proposals/modules-alvin/examples/graph/4_impl/graph__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph/edge__export.h doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph__impl.c doc/proposals/modules-alvin/examples/graph/3_export/graph/node__export.h doc/proposals/modules-alvin/examples/graph/3_export/main.c doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph/edge__impl.c doc/proposals/modules-alvin/examples/graph/4_impl/graph/edge__export.h doc/proposals/modules-alvin/examples/graph/4_impl/graph/node__impl.c doc/proposals/modules-alvin/examples/graph/4_impl/main__impl.c doc/proposals/modules-alvin/0_type_stubs/graph/1_size_analysis/size_analysis.c doc/proposals/modules-alvin/examples/graph/3_export/graph/edge_picker__export.h doc/proposals/modules-alvin/examples/graph/3_export/graph/node.c doc/proposals/modules-alvin/examples/graph/1_size_analysis/size_analysis.c doc/proposals/modules-alvin/examples/graph/1_size_analysis/a.out doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph__tshell.h doc/proposals/modules-alvin/examples/graph/4_impl/graph/edge_picker__tshell.h doc/proposals/modules-alvin/0_type_stubs/proposal.md doc/proposals/modules-alvin/examples/graph/0_initial/graph/node.c doc/proposals/modules-alvin/0_type_stubs/graph/5_tweaking/graph__export.h doc/proposals/modules-alvin/0_type_stubs/graph/2_tshell/graph/node.c doc/proposals/modules-alvin/examples/graph/2_tshell/graph/edge.c doc/proposals/modules-alvin/examples/graph/2_tshell/graph.c doc/proposals/modules-alvin/0_type_stubs/graph/5_tweaking/graph/edge_picker__export.h doc/proposals/modules-alvin/examples/graph/5_tweaking/graph/edge__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/0_initial/graph/edge_picker.c doc/proposals/modules-alvin/0_type_stubs/graph/3_export/graph/edge_picker__tshell.h doc/proposals/modules-alvin/examples/graph/3_export/graph__export.h doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/main.c doc/proposals/modules-alvin/examples/graph/4_impl/graph/edge__impl.c doc/proposals/modules-alvin/0_type_stubs/graph/3_export/graph/edge__export.h doc/proposals/modules-alvin/0_type_stubs/graph/3_export/graph/node__tshell.h doc/proposals/modules-alvin/examples/graph/4_impl/graph__impl.c doc/proposals/modules-alvin/examples/graph/5_tweaking/graph/edge__impl.c doc/proposals/modules-alvin/0_type_stubs/graph/3_export/graph/edge_picker.c doc/proposals/modules-alvin/examples/graph/4_impl/graph.c doc/proposals/modules-alvin/examples/graph/5_tweaking/graph__tshell.h doc/proposals/modules-alvin/examples/graph/3_export/graph__tshell.h doc/proposals/modules-alvin/examples/graph/5_tweaking/graph/edge_picker__export.h doc/proposals/modules-alvin/0_type_stubs/graph/2_tshell/graph/edge_picker.c doc/proposals/modules-alvin/0_type_stubs/graph/5_tweaking/graph/edge_picker__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/0_initial/graph/node.c doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph__export.h doc/proposals/modules-alvin/0_type_stubs/graph/1_size_analysis/a.out doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph/node__export.h doc/proposals/modules-alvin/0_type_stubs/graph/0_initial/main.c doc/proposals/modules-alvin/0_type_stubs/graph/3_export/graph/edge.c doc/proposals/modules-alvin/examples/graph/3_export/graph/edge__export.h doc/proposals/modules-alvin/0_type_stubs/graph/2_tshell/main.c doc/proposals/modules-alvin/0_type_stubs/graph/5_tweaking/graph/edge__tshell.h doc/proposals/modules-alvin/examples/graph/3_export/graph.c doc/proposals/modules-alvin/0_type_stubs/graph/5_tweaking/graph__impl.c doc/proposals/modules-alvin/0_type_stubs/graph/5_tweaking/graph/node__impl.c doc/proposals/modules-alvin/examples/graph/5_tweaking/graph__impl.c doc/proposals/modules-alvin/0_type_stubs/graph/5_tweaking/main__impl.c doc/proposals/modules-alvin/examples/graph/4_impl/graph/edge_picker__impl.c doc/proposals/modules-alvin/examples/graph/3_export/graph/edge_picker.c doc/proposals/modules-alvin/0_type_stubs/graph/5_tweaking/graph/edge_picker__impl.c doc/proposals/modules-alvin/0_type_stubs/graph/5_tweaking/graph__tshell.h doc/proposals/modules-alvin/examples/graph/2_tshell/graph/edge_picker.c doc/proposals/modules-alvin/0_type_stubs/graph/3_export/graph/edge__tshell.h doc/proposals/modules-alvin/examples/graph/5_tweaking/graph/edge__export.h doc/proposals/modules-alvin/examples/graph/4_impl/graph/edge_picker__export.h doc/proposals/modules-alvin/examples/graph/3_export/graph/edge_picker__tshell.h doc/proposals/modules-alvin/examples/graph/4_impl/graph/edge__tshell.h doc/proposals/modules-alvin/examples/graph/4_impl/graph/node__export.h doc/proposals/modules-alvin/examples/graph/4_impl/graph__export.h doc/proposals/modules-alvin/0_type_stubs/graph/3_export/main.c doc/proposals/modules-alvin/examples/graph/2_tshell/graph/node.c doc/proposals/modules-alvin/0_type_stubs/graph/3_export/graph/node.c doc/proposals/modules-alvin/examples/graph/3_export/graph/edge__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/3_export/graph__export.h doc/proposals/modules-alvin/0_type_stubs/graph/2_tshell/graph/edge_picker__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph/node.c doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph.c doc/proposals/modules-alvin/examples/graph/4_impl/main.c doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph/edge.c doc/proposals/modules-alvin/0_type_stubs/graph/0_initial/graph/edge.c doc/proposals/modules-alvin/0_type_stubs/graph/2_tshell/graph.c doc/proposals/modules-alvin/0_type_stubs/graph/2_tshell/graph/edge__tshell.h doc/proposals/modules-alvin/examples/graph/4_impl/graph/node__tshell.h doc/proposals/modules-alvin/examples/graph/3_export/graph/edge.c doc/proposals/modules-alvin/examples/graph/2_tshell/graph__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/info.md doc/proposals/modules-alvin/0_type_stubs/graph/2_tshell/graph/edge.c doc/proposals/modules-alvin/examples/graph/5_tweaking/graph/node__export.h
alvin.zhang at
update citations
pabuhr at
first proofread of module proposal
pabuhr at
addressing comments of module proposal
alvin.zhang at
add PLG-specific instructions for running antlr
alvin.zhang at
formatting
pabuhr at
correct spelling from valgind to valgrind
pabuhr at
update choose and waituntil statements
pabuhr at
turn on ARM builds on algol
pabuhr at
add routines stack_verify and stack_pointer, in debug mode call stack_verify on front-side of context switch and time-slicing
pabuhr at
increase user-thread stack from 64K to 256K
pabuhr at
remove making keyword exception an identifier for math.h
pabuhr at
adjust name for ARM architecture
pabuhr at
2nd attempt to turn on ARM builds on algol
pabuhr at
rework member fixBlock to allow loop else-clause to access while/for conditional declarations
pabuhr at
change codegen for loop else-clause to print else-clause as a compound statement
pabuhr at
during parsing, wrap loop else-clause in compound statement if it is only an expression
pabuhr at
update loop else-clause test to verify loop declarations are accessible in else clause
pabuhr at
update documentation for hoisting of loop declarations
pabuhr at
final pass of abstract
pabuhr at
final proofread of background chapter
pabuhr at
remove attempt to make C inline comments look better in latex output
pabuhr at
harmonize AST dump and flag names, and the order the passes are called
pabuhr at
update user documentation on AST dump flags, and turn off silent in Makefile
pabuhr at
rename predicate flag that conflicts with AST dump flag
pabuhr at
move latex savebox definitions, add package multicol
pabuhr at
final proofread of conclusion
pabuhr at
add one more item to future work in conclusion
pabuhr at