看了俄罗斯Roman Elizarov(此人乃某年google编程大赛第三名)写的一个ppt,讨论如何设计高性能分布式系统。
他提出影响性能的3个方面:
- 锁机制
- 内存操作
- 数据结构
对于代码优化这一块,他倒是建议不要进行。
锁机制:简单的说就是消息队列因为要实现线程安全,必然会用同步机制,这时就需要考虑如何有效的减少锁/解锁操作
内存操作:尽量减少内存分配,同时能在数据访问局部性进行考虑。
数据结构:选择正确的数据结构(这也可以用数据访问局部性进行解释),例如LinkedList对于在指定位置删除或者插入元素性能较好,而ArrayList则对于挨个读取元素性能较好。这就需要根据自己的需要进行选择了。
此外合理的使用设计模式一方面可以简化代码工作,另外也可以结合上面所提及的方面。