1.5.0 released

Matt Nourse, May 5 2012

1.5.0 is ready for download now. 1.5.0 brings these features to r17:

  • Floating point number support. You can do everything with floating point numbers that you can with integers except compare them for equality or inequality. Exact comparison of floating point numbers is unpredictable in all languages so r17 disallows it outright as a safety measure.
  • rel.from_tsv now (optionally) accepts header name arguments so it can parse streams without headings.
  • Added str.to_upper_case and str.to_lower_case functions (added in 1.4.4, an internal-only release).
  • Added str.regex_replace_all (1.4.4).
  • Added str.sha256 (1.4.4).

1.5.0 also has some cool performance improvements:

  • Vastly improved sort performance. Previously r17's sort was single-threaded and required enough RAM to hold the whole stream. Now r17 sorts in parallel and doesn't need to keep the whole stream in RAM. It's still limited by the machine address space so you'll still need a 64-bit machine to sort streams larger than 2GB.
  • Improved rel.from_tsv performance by adding a fast path for fields that don't require escaping.
  • Improved rel.select performance by adding a fast path for fields that are passed through without computation.
  • Improved all number to string conversion performance by replacing calls to sprintf with a simpler custom function.
  • Improved performance of io.file.read when reading uncompressed streams.

Happy crunching!

blog comments powered by Disqus