假设我用两种不同的语言编写程序,我需要比较性能, 除了比较他们的运行时间之外,我应该关注哪些方面?
答案 0 :(得分:1)
你专注于错误的事情。真的问题是你想使用低级语言(更快)还是高级语言(更慢)。高级语言会为你做很多事情,它也会做出某些假设,这会让它变慢。使用高级语言,您将经历多层抽象,因此它会自然变慢。如果您想获得最佳性能,请使用c ++。如果你想要更快的东西使用汇编语言。像c#或java这样的高级语言会更方便,因为很多下划线管道都是为你处理的,但随之而来的是性能下降。同样,这带来了某些假设,并且执行的额外代码可能与您要完成的任务无关。
如果要测试可能需要语言或平台为您处理许多下划线功能的不同语言选择功能的性能。此外,较低级别的语言可以让您直接访问硬件,允许您调整与其交互的方式。由于控制量和使用非托管代码的性能提高,游戏引擎和其他需要最高性能的项目通常使用c ++和Visual Basic等语言编写。我会首先关注类似(图形等)的类别,你需要提高性能,然后从那里选择一些测试。我也相信你可以找到已经发布在互联网上的比较语言表现的现有测试。