全部,
这是一个更普遍的问题,但基本上我想比较两个多媒体软件应用程序的性能。虽然它们正在做同样的事情,但它们在不同的平台上运行,并且对实现也一无所知。我得到了一些不同的表现数据,我试图推断出可能的情况。到目前为止,我想出了以下内容:
软件优化带来更好的性能:
由于底层硬件架构而提高了性能
有人可以想到别的东西还是全部?
谢谢, 西蒙
答案 0 :(得分:2)
我会说:
答案 1 :(得分:1)
好问题。硬件确实有所作为,但软件结构差异也是如此。
像展开这样的微观优化很可能会产生很大的不同。
关于它的推理不会让你走得太远 - 你需要调查。
我不是说你可以对这个问题得到明确答案,但这就是我要做的。 Somehow, get 10 or 20 random-time stack samples,无论是通过中断和转储, pstack , lsstack ,还是在调试器下运行并使用Ctrl-C
或良好的堆栈 - 采样分析器,如RotateRight /缩放。
您可以查看这些示例,并按百分比的方式了解每个程序如何花费时间。如果它们都接近最佳,那么即使您不确切地知道它们正在做什么,图片看起来应该非常相似。比如,如果一个人在内存管理中花费更多的时间,那就是一个危险信号。如果调用堆栈通常比另一个更深,那也是怀疑的原因,不是因为调用很昂贵,而是因为过于笼统的浪费编码风格往往会显示出来。
如果你没有符号,可能需要花费相当多的侦探工作来解决这个问题,你可能无法做到,但这就是我接近它的方式。