3 ms·
> All of this was inspired by someone who replaced the rc scripts in their init system with a Makefile in order to allow processes to start in parallel while ke
by josteink 4y ago
> All of this was inspired by someone who replaced the rc scripts in their init system with a Makefile in order to allow processes to start in parallel while keeping the dependencies in the right order.
Sometimes the most interesting thing is not the story itself, but the story behind the story.
This has my interest peaked. Is there anywhere else I can read about this?
- pjot 4y agoJust a friendly tip that it’s _piqued_ :)
- shawabawa3 4y agoYou never know, maybe it is the peak of their interest and it's all downhill from here
- ncmncm 4y agoWhich, by the way, means "sharpened". Probably "peak" has the same root.
- adhesive_wombat 4y agopique comes from (Vulgar) Latin piccare, which means "prick with a sword". The route to English is via French. peak comes from Old English pīc, meaning just "peak" (e.g. of a mountain). The two are completely different words that just sound similar. pique may possibly go back to Proto-Germanic, and peak does, but the two go back to two separate words (*pīkaz, *pikkāre) though both are then related to sharp things and possibly onomatopoeic.
- deleted 4y ago[deleted]
- mturmon 4y agoThis is just the “job server” which you can read about in the Gnu make documentation, which is excellent. https://www.gnu.org/software/make/manual/html_node/Job-Slots.html https://www.gnu.org/software/make/manual/html_node/Job-Slots... Basically you can specify a “-j 24” (e.g.) option to make, and it will run as many as 24 build steps in parallel. If your Makefile is correct, that’s all you need. Because make knows the dependency graph, it can correctly handle cases where some build steps have to be done serially, while others can be fully parallelized. E.g., a: b; b: c; In which builds of b and c are serial, versus x: y; x: z; for which builds of y and z are parallel. It’s quite a powerful capability and it feels great to see 24 build-steps start in parallel from one simple command.
- Mister_Snuggles 4y agoThis was another thing that attracted me to `make` for this task. I figured that, as long as the dependencies were all declared properly, I should be able to run multiple jobs in parallel. I didn't pursue this very far as there were other problems with doing this, but I'd like to pursue it again. The problems are all with the target system, `make` does the parallel execution work perfectly.
- Mister_Snuggles 4y agoIt took a while, but I finally found it! https://web.archive.org/web/20110606144530/http://www.ibm.com/developerworks/linux/library/l-boot/index.html https://web.archive.org/web/20110606144530/http://www.ibm.co... There’s a reference to some sample Makefiles to start and stop some Linux services in parallel. It’s obviously not complete, but this (or something similar) was what inspired my system.