perl - 为什么默认情况下缓冲区不自动刷新?

标签 perl buffer autoflush

我最近有幸设置了 $| = 1; 在我的 Perl 脚本中,以帮助它通过管道与另一个应用程序更快地通信。

我很好奇为什么这不是默认设置。换句话说,如果我的缓冲区立即被刷新,我会失去什么?

最佳答案

写入文件描述符是通过系统调用完成的,系统调用很慢。

缓冲流并仅在写入一定数量的数据后才刷新它是一种节省一些系统调用的方法。

关于perl - 为什么默认情况下缓冲区不自动刷新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7405092/

相关文章:

perl - autoflush 在 socket 中有什么作用?我们为什么用它?

perl - 我可以重载 Perl 的 = 吗? (还有使用 Tie 时的问题)

Perl:使用 5.##.# 中包含什么?

c - 从套接字读取缓冲区

Python Pyserial 串行缓冲区

io - 如何自动刷新Perl 6文件?

perl - 我应该使用哪个 Perl Web 框架?

xml - 查找两个元素之间的相对 XPath 的最有效方法是什么?

c - 在夹板的帮助下消除代码中的安全缺陷

Java:如何配置 System.out 以启用自动刷新?