Taco,
Thanks for your comments... see below...
On Thu, 3 Dec 2020 12:15:46 +0100
Taco Hoekwater
On 3 Dec 2020, at 11:35, Stephen Gaito
wrote: Hans,
As I said my desktop is elderly... it has a 2.8GHz processor, 16Gb of DDR3 memory, and a couple of old SATA1 hard disks, and only 3Mb of CPU cache...
... all well past its use by date for single threaded ConTeXt. ;-(
So one way to get better performance for ConTeXt is to invest in a new ultra fast processor. Which will cost a lot, and use a lot of power which has to be cooled, which uses even more power....
Startup time can be improved quite a bit with an SSD. Even a cheap SATA SSD is already much faster than a traditional harddisk. Doesn’t help with longer documents, but it could be a fairly cheap upgrade.
I can’t comment on how to speed up the rest of what you are doing, but generally multi-threading TeX typesetting jobs is so hard as to be impossible in practise. About the only step that can be split off is the generation of the PDF, and even there the possible gain is quite small (as you noticed already).
Typesetting is a compilation job, so the two main ways to speed things along are
1) split the source into independent tasks, like in a code compiler that splits code over separate .c / .cpp / .m / .p etc. files, and then combine the results (using e.g. mutool)
This is basically my approach... *However*, while the dependency graph for a standard compilation has been engineered to be an acyclic tree, for a ConTeXt "compilation", the "*.tex" file has a cyclic dependency on the (generated) "*.tuc" file. Basically my parallelization "build manager" has to unroll or other wise reimplement the mtx-context.lua ``` for currentrun=1,maxnofruns do ... end ``` loop until the `multipass_changed(oldhash,newhash)` returns `false`. Followed by a "pdf-linking" stage (possibly implemented, as you suggest, by `mutool`) .... Not great.... but it might work... (and I am willing to give it a try)...
2) precompile recurring stuff (in TeX, that would mean embedding separately generated pdfs or images)
Best wishes, Taco
___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___________________________________________________________________________________