<分区>
我发现许多极客编码员正在用 C 语言创建自己的输入和输出函数以减少运行时间。但是我很难理解他们的代码。
那么您能否用简单明了的英语向我解释如何创建如此快速的 IO 函数?
提前致谢!
标签 c
<分区>
我发现许多极客编码员正在用 C 语言创建自己的输入和输出函数以减少运行时间。但是我很难理解他们的代码。
那么您能否用简单明了的英语向我解释如何创建如此快速的 IO 函数?
提前致谢!
最佳答案
为了最大限度地发挥 Windows 控制台 I/O 的性能,您需要使用 Windows system calls for managing the console.在 Linux 上,标准 C 函数 read
和 write
的性能最高。
现在,如果你想使用格式字符串,你将不得不创建一个格式解析器和评估器。如果您在代码中直接调用了各种函数,如 print_int(int)
、print_string(const char*)
,您可以在 Linux 上看到一些小的性能改进.在 Windows 上,如果您使用控制台缓冲区管理系统调用,您会看到一些巨大的改进。
但在大多数情况下,stdarg 处理将耗尽 printf
系列的大部分处理时间,而实际操作将消耗更大的处理时间写出到控制台缓冲区。如果您真的需要每秒喷出数兆字节的 printf
,请将其路由到一个文件。如果这样做,printf
操作实际上是免费的,此时磁盘 I/O 将成为瓶颈。
关于c - 如何创建我自己的比标准 printf 和 scanf 更快的 C I/O 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23503282/