Performance
什麼時候給 tr 添加 -u 有好處?
該
tr
命令的參數之一是:
-u
保證任何輸出都是無緩衝的。在什麼情況下不緩衝輸出是個好主意?
例如,
-u
如果我希望每行都超長,我應該使用嗎?例如,
-u
如果我的記憶體受限,我應該使用嗎?例如,如果我將它輸入
awk
(逐行處理文件),那麼這是否意味著使用緩衝輸出更好?
無緩衝的輸出效率較低,因此如果有很多,它會變慢。無緩衝輸出可能會對每個字元進行系統呼叫(儘管通常不會)。
優點是您可以立即獲得輸出,而不是在緩衝區填滿並刷新時。對於緩慢的輸出(例如一次一行或更少),並且可以互動式查看,這會更好。
在 Unix 中,輸出通常是塊緩衝或行緩衝,很少是無緩衝的。
您可以使用命令更改命令的預設值,該
stdbuf
命令是 GNU coreutils 的一部分。