I am looking to use Journal.IO as a write ahead log that I would like to periodically compact, my question is what is a reasonable amount of time between compactions? Also are there any statistics on how long compactions typically take to run?
It really depends on how much data you delete, and how much fragmented such deletes are: you pay the cost of sequentially scanning all data files, plus the rewriting of all valid entries, so the more you delete the faster it will be, and you can compact more frequently; if you do not delete much instead, I suggest to wait for some garbage to accumulate before running compaction.
Future versions may implement parallel compaction, or if you wanna have a try at it, pull requests are well accepted :)
Hope that helped by the way,
Cheers,