added errorbars to S1 figure
Update 'lib/.gitignore'. Remove accidentally committed executable.
Initial implementation of cache manager to interface with stream readers.
Note: This commit includes a bug when appending a wrapped-around ssegment to a psegment.
Note: This implementation is not efficient across multiple NUMA nodes. Needs to be rewritten so that cache segments are allocated separately on demand rather than as part of one large pool which will be biased to the physical memory of the master thread.
New implementation of cache manager code. Should be much more NUMA-friendly and also does not have any bugs I am aware of from thinking about the code. Now on to finding and fixing those of which I am not aware....
Capture per-thread timing data for the various wait loops and reading from the stream.
bigger font for s1
Create tester for cache manager used by the reads parsers.
Instrument cache manager debug tracing and performance measurement logic.
Fix enough logic bugs for multi-threaded tests to successfully complete.
Petty cosmetic fix.
Fix a bug where a solo cache manager thread could lock itself out.
Fix a bug where a byte reader function could be using the wrong cache segment size.
Write cache manager performance metrics to a trace file. (Note: Should probably store in a metrics object instead.)
Create FASTA parser. Minor tweaks elsewhere in the read_parsers code. Still need to test.
Create performance metrics objects. Apply them to stream readers and cache managers. (Still need to test.)
Create TraceLogger class. Use TraceLogger instances to trace execution of cache manager segments. (Note: Still need to test.)
Improve cache segment allocation logic.
Add performance metrics and execution tracing to the parser interface.
(Still need to test.)
Fix dependency issue in 'lib/Makefile' where test program .o files would not be regenerated on change of a header which the corresponding source used.
Create test harness for reconstructed parser infrastructure.
Fix bug where data was being lost if a cache segment fill occurred in the midst of copying memory to a parser buffer.
Bug fix. In CPython API, register the type of khmer Config objects as being the Python built-in 'type'. Having a metaclass allows the object attributes to be listed and type to be determined. (Imagine that....)
Delete 'get_byte' method from CacheManager.
Add parameter for tracking segment and setaside buffer boundaries to 'get_bytes' method in CacheManager.
Temporarily add deeper tracing to parser for debugging purposes.
Fix bug which caused overlapping reads and a segmentation fault from an invalid split position.
Fix bug where the sequence line appender logic was not checking whether a fil l segment boundary had been crossed.
Fix bug where a read was being skipped because the completed state was being flagged prematurely (before the parser buffer was fully consumed).