diff options
author | Avi Halachmi (:avih) <[email protected]> | 2018-08-05 06:16:44 +0300 |
---|---|---|
committer | James Almer <[email protected]> | 2018-08-27 11:34:10 -0300 |
commit | 45499e557c808f43175524a98901efeca715813e (patch) | |
tree | e4ebe58054fee2785b41c6bc6daca1d2a4de709b /doc/examples/transcode_aac.c | |
parent | 923586a58f37deedeb01f742e4804bc36736a6bc (diff) |
configure: speed up check_deps()
x4 - x25 faster.
check_deps() recursively enables/disables components, and its loop is
iterated nearly 6000 times. It's particularly slow in bash - currently
consuming more than 50% of configure runtime, and about 20% with other
shells.
This commit applies few local optimizations, most effective first:
- Use $1 $2 ... instead of pushvar/popvar, and same at enable_deep*
- Abort early in one notable case - empty deps, to avoid costly no-op.
- Smaller changes which do add up:
- Handle ${cfg}_checking locally instead of via enable[d]/disable
- ${cfg}_checking: test done before inprogress - x2 faster in 50%+
- one eval instead of several at the empty-deps early abort path.
- The "actual work" part is unmodified - just its surroundings.
Biggest speedups (relative and absolute) are observed with bash.
Tested-by: Michael Niedermayer <[email protected]>
Tested-by: Helmut K. C. Tessarek <[email protected]>
Tested-by: Dave Yeo <[email protected]>
Tested-by: Reino Wijnsma <[email protected]>
Signed-off-by: James Almer <[email protected]>
Diffstat (limited to 'doc/examples/transcode_aac.c')
0 files changed, 0 insertions, 0 deletions