2 ms·
Compilation and linting are mostly mono threaded. At least in the languages I use. That is a lot of direct waiting.
by user5994461 10y ago
Compilation and linting are mostly mono threaded. At least in the languages I use. That is a lot of direct waiting.
- shakna 10y ago> Compilation and linting are mostly mono threaded. Which languages fall on your list? (Just curious) I use: * C (make and gcc can thread) * Python (no real thread story) * JS (depends) * Scheme (usually threads)
- user5994461 10y agoC, C++. Compilation can be multi threaded. Linking is inherently mono threaded. A number of optimizations flags are mono threaded (and take very long). Python. Lint is mono threaded. The virtualenv setup is mono threaded (running requirements.txt). Java. Mono threaded for package generation (jar files). Not sure about compilation and running tests. Most of Eclipse is mono threaded (last I used it) like indexing and rendering and auto completion. Outside of that, opening any IDE, tool, application or browser is a mostly single threaded operation. The rendering of most GUI is also single threaded.
- jschwartzi 10y agoMake definitely requires a well-specified list of dependencies, meaning that the targets and prerequisites need to specify a DAG from the source files through the intermediates to the final target executable(s). If that's not complete then a threaded make will fail. Most recursive make systems can't be run in jobserver mode because the graph is not well-specified.