0

所以我试图解析通过 RS-232 串行端口读取的字符串,而 Substring 函数是罪魁祸首。它是 O(N) 运行时间吗?有没有更快的方法将字符串切成碎片然后我可以解析?

4

1 回答 1

3

上次我在没有完整引用的情况下引用这个时,我的手腕被打了一巴掌,所以这次我会正确地做:

程序员浪费大量时间来思考或担心程序中非关键部分的速度,而在考虑调试和维护时,这些提高效率的尝试实际上会产生强烈的负面影响。我们应该忘记小的效率,比如大约 97% 的时间:过早优化是万恶之源。然而,我们不应该放弃那关键的 3% 的机会

正如 Matthew Watson 指出的那样,我非常怀疑Substring您需要担心的是什么。

现在,在您看来,这似乎是一个居高临下的答案,但如果程序员一直在用“必须快速”进行编码;那么在我看来,他们的大脑并没有专注于他们应该做的事情,即编写解决特定问题的功能代码。

编写明显足够快的代码,然后正如引用所说的那样 - 如果性能确实存在问题(例如,您的发票运行需要 5 个小时来处理 20 个 pdf),那么您可能需要开始查看正在采取的措施时间。

于 2013-04-17T19:43:28.757 回答