Comments (3)
Hm, that number should already be limited, at least in the actual compilation.
The limit is set at
rebar3/apps/rebar/src/rebar_parallel.erl
Lines 13 to 19 in 69a5898
The queue of worker is set up at:
rebar3/apps/rebar/src/rebar_compiler.erl
Lines 316 to 322 in 69a5898
This should give you no more compile units than there are schedulers on your VM for normal Erlang code builds.
However the issue you show comes from the code server in the analysis step... It is possible that the issue comes from the OTP-provided epp
module that we use to access the code's abstract files:
rebar3/apps/rebar/src/rebar_compiler_epp.erl
Lines 35 to 38 in 69a5898
What I've found is that we had a patch in the DAG analysis to speed it up that does call for more concurrency, unbounded one at that:
rebar3/apps/rebar/src/rebar_compiler_dag.erl
Lines 449 to 466 in 69a5898
That was added in a performance drive in 2020: #2322
Chances are that the only needed fix is to transform the DAG analysis to use a worker queue to be faster. I can try experimenting with that, it should be workable.
from rebar3.
See #2768 for a potential fix to this. It seems fragile, but may allow checking the early approach.
from rebar3.
My project can build successfully after checkout #2768. Thank you.
from rebar3.
Related Issues (20)
- rebar3 shell ctrl+c exits, unlike erl or iex, and breaks macos zsh terminal HOT 4
- {bad_name, setup} error during rebar3 escriptize HOT 6
- New command 'alias' HOT 2
- "Newly added dep is locked at a lower level" (also) reported when upgrade command is issued HOT 4
- Executing rebar3 throwing escript exception HOT 1
- Templates not found on Fedora Linux HOT 4
- `rebar3 tree` formats its output very badly when called together with OTP26 HOT 4
- Question: Sharing modules between multiple applications
- Many [r3_hex_http] ... is deprecated in favour of ... messages during compilation and upgrades HOT 1
- are there checksum available ? HOT 4
- Escript creation failure reason swallowed by post-hook failure. HOT 1
- Possible error in rebar_core HOT 1
- Uncaught error in rebar_core when running rebar3 shell HOT 1
- when use -name, remote_console connect failed HOT 1
- "Did you mean ...?" suggestions for misspelled commands HOT 7
- rebar3 auto: Error loading module enotify HOT 1
- Tag usage in newer rebar3 versions HOT 14
- Hooks env variables documentation HOT 1
- {mode, ...} overrides variables explicitly set in the profile
- rebar3 killed spawned processes after compile HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rebar3.