我已经对包括嵌入式应用程序在内的各种软件进行了很多性能调整。我不会讨论内存分析——我认为这是一个不同的问题。
我只能猜测“众所周知”的想法起源于何处,即要找到性能问题,您需要测量各个部分的性能。这是一种自上而下的方法,类似于政府试图通过细分来控制预算浪费的方式。恕我直言,它不是很好用。测量可以查看您所做的是否有所作为,但它无法告诉您要解决的问题。
最擅长告诉你要解决什么问题的是一种自下而上的方法,在这种方法中,你检查一个有代表性的微观单位样本,了解正在使用的东西,并找出每个单位被使用的原因的完整解释。这出于简单的统计原因。如果有原因可以保存一些百分比(例如 40%)的样本,则平均 40% 的样本会显示它,并且不需要大量的样本。它确实需要您仔细检查每个样本,而不仅仅是将它们聚合成更大的束。
作为一个历史例子,这就是哈里·杜鲁门在美国卷入二战爆发时所做的。国防工业的浪费非常严重。他刚上车,开车到工厂,采访了周围的人。然后他回到美国参议院,解释了究竟是什么问题,并解决了这些问题。
也许这比您想要的答案更多。具体来说,这是我使用的方法,这是一个逐个示例。
补充:我想通过测量发现的想法很自然。82 年左右,我正在研究嵌入式系统,我需要进行一些性能调整。硬件工程师提议在板上放置一个我可以读取的计时器(从他的大量提供)。IOW 他认为发现性能问题需要时间。我感谢他并拒绝了,因为那时我知道并信任随机停止技术(使用在线仿真器完成)。