Skip to content

Task List

Joe Tsai edited this page Jan 23, 2016 · 26 revisions

Items to work on by package.

  • bzip2
    • Reader
      • Handle CRC32 checksums at the block and stream level
      • Handle multiple back-to-back files
      • Add tests for malicious and strange inputs
      • (performance) Reduce trash generation
      • (performance) Add chunking between stages to reduce total memory bandwidth
      • (performance) Investigate other ways to improve performance
    • Writer
      • Optimize assignment of prefix trees for better compression ratio
      • Investigate why internal/sais is crashing on some inputs
      • Investigate various BWT construction methods:
        • bwtis, sais, qsufsort, divsufsort
      • (performance) Remove trash generation
      • (performance) Add chunking between stages to reduce total memory bandwidth
      • (performance) Investigate other ways to improve performance
      • Investigate if blocks can easily be byte aligned
  • brotli
    • Reader
      • Make use of internal/prefix
      • Add more tests for malicious and strange inputs
    • Writer
      • Implement me!
  • flate
    • Reader
      • Make use of internal/dict when available
    • Writer
      • Implement me!
  • xz
    • Implement me!
  • internal/dict
    • Implement a generic LZ77 dictionary for use in brotli and flate
  • internal/cgo
    • Move C wrappers here
    • Make C wrappers correct (they violate Go1.6 pointer passing rules)
  • internal/tool/bench
    • Investigate why Brotli tests fail
  • internal/tool/fuzzer
    • Test round-trip Go->Go functionality
    • Test round-trip C->Go functionality
    • Test round-trip Go->C functionality
Clone this wiki locally