【问题标题】:what is the running time of Substring in C#?C#中子字符串的运行时间是多少?
【发布时间】:2013-04-10 17:28:00
【问题描述】:

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

【问题讨论】:

  • 我简直不敢相信,如果您通过 RS-232 发送字符串,瓶颈可能在 String.Substring()... 您需要如何解决?反正肯定是O(N)

标签: c# .net string substring


【解决方案1】:

我上次在没有完整引用的情况下引用了我的手腕,所以这次我会正确地做:

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-10
    • 1970-01-01
    • 2020-02-03
    • 1970-01-01
    • 1970-01-01
    • 2019-02-03
    • 2014-06-12
    • 2015-06-28
    相关资源
    最近更新 更多