最后的性能优化策略[关闭]
这个网站上已经有很多性能问题,但我发现几乎所有问题都是针对特定问题而且相当狭窄。 几乎所有人都重复这些建议,以避免过早优化。 我们假设: 代码已经正常工作 所选择的算法对于问题的情况已经是最佳的 已经测量了代码,并且已经隔离了违规的例程 所有优化尝试也将被测量,以确保它们不会使事情变得更糟 我在这里寻找的是在一个关键算法中挤出最后几个百分点的策略和技巧,除此之外别无他法。 理想情况下,尝试使答案语言不可知,并在适用的情况下指出建议策略的任何缺点。 我将使用我自己的初步建议添加回复,并期待Stack Overflow社区可以想到的任何其他内容。 #1楼 我花了一些时间来优化在低带宽和长延迟网络(例如卫星,远程,离岸)上运行的客户端/服务器业务系统,并且能够通过相当可重复的过程实现一些显着的性能改进。 措施 :首先了解网络的基础容量和拓扑。 与业务中的相关网络人员交谈,并利用ping和traceroute等基本工具在典型的运营期间(至少)建立每个客户端位置的网络延迟。 接下来,对显示有问题症状的特定最终用户功能进行准确的时间测量。 记录所有这些测量值,以及它们的位置,日期和时间。 考虑在客户端应用程序中构建最终用户“网络性能测试”功能,允许高级用户参与改进过程; 当你处理因表现不佳的系统而感到沮丧的用户时,像这样赋予他们权力可能会产生 巨大的 心理影响。 分析