
确定的唯一方法是对两个版本进行编码并对其进行概要分析(或比较生成的机器代码). 话虽如此,我怀疑您会发现运行时性能有很大差异. 现代编译器很聪明,并且标准库的实现已调整为尽可能高效. 您的printf实现很可能会对单位整数进行特殊情况处理,与您所建议的类似. 与第一次通话的开销相比,所有这些都在噪音printf中.

代码应按重要性顺序排列:

正确-它会做应做的一切printf %*c,而不应该做任何事;坚固-如果某人看起来很有趣,它就不应跌倒而死;安全性-它不是恶意软件的载体,它不会暴露不应有的数据;可维护性-一些糟糕的schmuck最终将不得不更改此代码以添加功能(或修复错误);高效-它不应该占用完成特定任务所需的任何空间或时间,通常可以做到这一点. 算法和数据结构的选择取决于任何特定的微优化.

我认为您的方法使代码难以维护,因为这是获得给定结果的一种非显而易见的方法.

确定的唯一方法是对两个版本进行编码并对其进行概要分析(或比较生成的机器代码). 话虽如此printf %*c,我怀疑您会发现运行时性能有很大差异. 现代编译器很聪明,并且标准库的实现已调整为尽可能高效. 您的printf实现很可能会对单位整数进行特殊情况处理,与您所建议的类似. 有了先打电话的开销...
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-155786-1.html
还想看一遍
这就是博弈