diff options
author | Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> | 2007-05-20 13:48:26 +0000 |
---|---|---|
committer | Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> | 2007-05-20 13:48:26 +0000 |
commit | 4fb8055bf7165d681dbe7ba5d10d8f98a5043d92 (patch) | |
tree | f240fc986f75cb724a2e7d416ea92b89c172c317 /config/global.in | |
parent | 5d2b862edcc5c39e7a336c7a4868701495b5be57 (diff) | |
download | crosstool-ng-4fb8055bf7165d681dbe7ba5d10d8f98a5043d92.tar.gz crosstool-ng-4fb8055bf7165d681dbe7ba5d10d8f98a5043d92.tar.bz2 crosstool-ng-4fb8055bf7165d681dbe7ba5d10d8f98a5043d92.zip |
Ah! I finally have a progress bar that doesn't stall the build!
- pipe size in Linux is only 8*512=4096 bytes
- pipe size is not setable
- when the feeding process spits out data faster than the eating
process can read it, then the feeding process stalls after 4KiB
of data sent to the pipe
- for us, the progress bar would spawn a sub-shell every line,
and the sub-shell would in turn spawn a 'date' command.
Which was sloooww as hell, and would cause some kind of a
starvation: the pipe was full most of the time, and the
feeding process was stalled all this time.
Now, we use internal variables and a little hack based onan offset
to determine the elapsed time. Much faster this way, but still
CPU-intensive.
Diffstat (limited to 'config/global.in')
-rw-r--r-- | config/global.in | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/config/global.in b/config/global.in index f487a8bf..5d918472 100644 --- a/config/global.in +++ b/config/global.in @@ -255,13 +255,15 @@ config LOG_PROGRESS_BAR default n depends on ! LOG_ALL help - This option will print a "rotating bar" (/-\|) below the last log line - to show work is not stalled. + If you say 'y' here, you'll be able to see the elapsed time. - Available when not in DEBUG log level. - - WARNING! Very CPU intensive! If you have spare CPU, then you can use it, - otherwise, refrain from using it. + As a bonus, you'll also get a rotating bar (/-\|) showing you + that the build is not stalled (the bar rotates 1/4 every 10 lines + of components build log). + + Note that the elapsed time can stall for a little while if a + component has long commands, as the elapsed time is only updated + each line. config LOG_TO_FILE bool |