The most expensive operations will be sorting, grouping, etc.
But performance isn't that critical in the sort of batch-processing scenarios I tend to focus on; for example, processing markdown or tex documents from the command line.
Maybe there should be two modes, then: batch and interactive/server?
On the latter, it would be good to do some of these operations in parallel, and to perhaps cache the key data structures.
Citeproc-rs does this using rayon and salsa, so maybe look at that?
EDIT: I did add parallel sorting very easily. I need to add a benchmark so I can compare the results.
Way too premature, but worth thinking about now:
The most expensive operations will be sorting, grouping, etc.
But performance isn't that critical in the sort of batch-processing scenarios I tend to focus on; for example, processing markdown or tex documents from the command line.
Maybe there should be two modes, then: batch and interactive/server?
On the latter, it would be good to do some of these operations in parallel, and to perhaps cache the key data structures.
Citeproc-rs does this using rayon and salsa, so maybe look at that?
EDIT: I did add parallel sorting very easily. I need to add a benchmark so I can compare the results.