fst v0.8.6
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). Unlikedata.table
, thefst
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()
andread_fst()
(issue #121, thanks @krlmlr for suggestions and discussion)