3
在awk
中有兩個輸出函數:print
和printf
。awk print和printf函數
- 它們在
awk
中的實現有很大的不同嗎? - 性能/速度有什麼區別(如果可能的話 - 理論上,不僅在命令行上的「
time
」)? - 他們是否使用相同的系統調用?
在awk
中有兩個輸出函數:print
和printf
。awk print和printf函數
awk
中的實現有很大的不同嗎?time
」)?print
函數在最後輸出一個換行符;除非有要求,否則printf
不會。print
代碼將參數轉換爲字符串,然後將它們發送到由OFS(輸出字段分隔符)分隔的輸出。printf
代碼可能需要將該字符串轉換爲雙精度格式,然後使用雙格式(%16.8g
或其他)和類似操作對其進行格式設置。write(2)
或類似的兩種,但會有代碼(可能是<stdio.h>
)分層以上。所有這些加起來:
print
比printf
稍微簡單一點(因此速度更快)。print
如果它會做你所需要的;當它做你需要的時候使用printf
。,並使用sprintf
其次print
很可能會比直接使用printf
慢,所以不知道。
如有疑問,請測量。
謝謝! 我測量了具有3個FP參數的特定輸出行的時間(多次統計):'print:printf〜= 16s:17s'。所以差異不是那麼大。 – static