summaryrefslogtreecommitdiff
path: root/src/rebar_rel_utils.erl
diff options
context:
space:
mode:
authorDave Smith <dizzyd@dizzyd.com>2011-10-25 23:59:50 -0600
committerTuncer Ayaz <tuncer.ayaz@gmail.com>2011-10-26 23:16:36 +0200
commit17616d1078063ea0748d009e3a111c4b615262e8 (patch)
treed714ece6f68f8ee1085c8b7edbcabe7385b70c32 /src/rebar_rel_utils.erl
parentb65d5904f555874e24a4610ea63d8c10ecf62448 (diff)
Overhaul environment expansion for better performance
The introduction of setup_env as a global concept caused the rebar_port_compiler implementation to start getting called a LOT. The expansion of environment variables that happens in the port compiler was O(n^n), which means you could see upwards of 80k invocations of lists:foldl on a single app "./rebar clean". This commit reworks the expansion to be O(n^2), and reduces the running time for the same operation by 60%+. On a large project like Riak, the end result is that a build went from 200 seconds to 73.
Diffstat (limited to 'src/rebar_rel_utils.erl')
0 files changed, 0 insertions, 0 deletions