summaryrefslogtreecommitdiffstats
path: root/doc/examples/remuxing.c
diff options
context:
space:
mode:
authorAvi Halachmi (:avih) <[email protected]>2018-07-30 22:39:15 +0300
committerJames Almer <[email protected]>2018-08-27 11:34:09 -0300
commit58b81ac621aea1428aa9e7ca20ad45fc18dba9f7 (patch)
tree09cde30a3be6f4ea153e6cd8f92f30dc16b44dde /doc/examples/remuxing.c
parentd91370e0f12a3fedd477616011566d9f2fb5e3e5 (diff)
configure: speed up flatten_extralibs_wrapper()
x50 - x200 faster. Currently configure spends 50-70% of its runtime inside a single function: flatten_extralibs[_wrapper] - which does string processing. During its run, nearly 20K command substitutions (subshells) are used, including its callees unique() and resolve(), which is the reason for its lengthy run. This commit avoids all subshells during its execution, speeding it up by about two orders of magnitude, and reducing the overall configure runtime by 50-70% . resolve() is rewritten to avoid subshells, and in unique() and flatten_extralibs() we "inline" the filter[_out] functionality. Note that logically, "unique" functionality has more than one possible output (depending on which of the recurring items is kept). As it turns out, other parts expect the last recurring item to be kept (which was the original behavior of uniqie()). This patch preservs its output order. 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/remuxing.c')
0 files changed, 0 insertions, 0 deletions