Summary: | buffered output of emerge | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Denis Knauf <deac> |
Component: | [OLD] Core system | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED CANTFIX | ||
Severity: | minor | CC: | flash3001 |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | All | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Denis Knauf
2004-04-09 01:50:25 UTC
Python buffers and flushes on every new-line by default. The code for writing the spinner while calculating dependencies must explicitly flush the buffer due to this. Perhaps ruby is buffering? try this: $ python -u $(which emerge) -pv world | perl -ne 'print $_' an try this: $ python $(which emerge) -pv world | perl -ne 'print $_' first put out like it comes. second put out, if python will exit. perl is in both the same. you can replace perl with ruby, it happens the same. it must be python, which buffers. Testing gave me as follows: -O >file -ep 11.328 -O >file -edp 11.385 -O -ep 12.377 -O -edp 39.023 -O total 74.113 -Ou >file -ep 11.366 -Ou >file -edp 11.432 -Ou -ep 12.399 -Ou -edp 41.626 -Ou total 76.823 Approximately a 3.5% performance loss overall. Nick, what do you think? This is a system level buffer. You're piping. You yield to how the system choses to do things. Normally a 4k buffer. Doesn't matter what portage does. |