Skip to content

fst v0.8.6

Compare
Choose a tag to compare
@MarcusKlik MarcusKlik released this 16 May 21:09
· 226 commits to master since this release

Changes

Version 0.8.6 of the fst package brings clearer printing of fst_table objects. It also includes optimizations for controlling the number of threads used by the package during reads and writes and after a fork has ended. The LZ4 and ZSTD compression libraries are updated to their latest (and fastest) releases. UTF-8 encoded column names are now correctly stored in the fst format.

New features

  • More advanced printing generic of the fst_table reference object, showing column types, (possible) keys, and the table header and footer data (issue #131, thanks @renkun-ken for reporting and discussions).

  • User has more control over the number of threads used by fst. Option 'fst_threads' can now be used to initialize the number of threads when the package is first loaded (issue #132, thanks to @karldw for the pull request).

  • Option 'fst_restore_after_fork' can be used to select the threading behaviour after a fork has ended. Like the data.table package, fst switches back to a single thread when a fork is detected (using OpenMP in a fork can lead to problems). Unlike data.table, the fst package restores the number of threads to it's previous setting when the fork ends. If this leads to unexpected problems, the user can set the 'fst_restore_after_fork' option to FALSE to disable that.

Bugs solved

  • Character encoding of column names correctly stored in the fst format (issue #144, thanks @shrektan for reporting and discussions).

Documentation

  • Improved accuracy of fst_table documentation regarding random row access (issue #143, thanks @martinblostein for pointed out the unclarity)

  • Improved documentation on background threads during write_fst() and read_fst() (issue #121, thanks @krlmlr for suggestions and discussion)