代码之家  ›  专栏  ›  技术社区  ›  Dervin Thunk

具有C函数的高级语言

  •  7
  • Dervin Thunk  · 技术社区  · 14 年前

    8 回复  |  直到 14 年前
        1
  •  7
  •   Cogwheel    14 年前

    如果您a)注意到性能问题,b)使用性能度量来定位问题发生的位置,以及c)无法通过修改现有代码来实现所需的性能,那么这是有意义的。

    如果这些项目中的任何一个不适用,那么这可能是过早的优化。

        2
  •  3
  •   lhf    14 年前

    如果你能流利地使用一种更高级的语言,比如Python和Lua,那么一定要开始用这种语言写作。寻找瓶颈是否存在以及何时存在。

        3
  •  1
  •   Keith Nicholas    14 年前

    棘手的是延迟。所以如果你想写一些你知道需要的东西<10ms那么C是可以合理预测的(忽略操作系统可能引入的任何可变性)。

    已经说过,对于非常紧凑的长循环(例如图像处理),像C/C++这样的东西可以提供一些加速。你可以从C语言中得到相当合理的性能,但是你必须小心如何编程它,但是我发现一般来说,你仍然可以从C/C++中挤出更多的内容。

        4
  •  1
  •   John Raymund    13 年前

    通常你喜欢的语言会在你可以接受的时间内做任何你需要的事情(呃,非常快)。

    当然,关键时间/性能功能 可以 用“更优化/更合适”的语言(如C或汇编)编写—但它是否真的能让事情更快就另当别论了。有一些规律控制着你将得到多少实际/整体的加速,特别是 Amdahs Law and (diminishing returns)

        5
  •  0
  •   Robert Munteanu    14 年前

    我建议你读一下克里夫·克莱克的书 Java vs. C Performance....Again.

    可以预见的是,结论是 这要看情况

        6
  •  0
  •   sigfpe    14 年前

    你只能根据具体情况来回答这个问题,而不考虑你正在做什么是不可能回答的。

        7
  •  0
  •   Earlz    14 年前

        8
  •  0
  •   Mattias Nilsson    14 年前

    我想说这在很大程度上取决于你的申请。 应用程序是短期的还是长时间运行的?

    Java可以提供高吞吐量,但在执行垃圾收集时偶尔会出现短暂的冻结。C#可能类似。

    正如其他人所说。视情况而定。

    但与性能一样:首先进行测量,在知道需要时进行优化。