3 ms·
> Surely, for example, multiple processors are no help to TeX But TeX was designed to run on a single CPU-core, so no surprise here. I wonder what TeX could be
by ordu 3y ago
> Surely, for example, multiple processors are no help to TeX
But TeX was designed to run on a single CPU-core, so no surprise here. I wonder what TeX could become if all Knuth had at the time a multicore machine with cores managing maybe 0.1 MIPS each (or even lower). Like what the world would become if we lived in a counterfactual world where Intel and its buddies starting in 1970s boosted not the frequency and instruction per second per core but number of cores?
My take we'd switched to functional-style programming at 1980s with immutable data, created tools to describe multistage pipelines with each stage issuing tasks into a queue, while cores concurrently picking tasks from the queue. TeX would probably have a simplified and extra fast parser that could cut input into chunks to feed them into a fullblown and slow parser which would be a first stage of a pipeline, and then these pipelines somehow would converge into an output stream. TeX probably would prefer to use more of lexical scoping, to reduce interaction between chunks, or maybe it would make some kind of a barrier for pipelines where they all stop and wait for propagation of things like `\it` from its occurrence to the end.
This counterfactual world seems much more exciting to me than the real one, though maybe I wouldn't be excited if I lived there.
- ahepp 3y agoI assumed that to mean the layout work is limited to a single thread. You need to know what content made it onto page one before you can start working on page two, right?