考虑以下情况:
忽略代码差异,并考虑系统的自动内存和处理器缓存以及其他“隐藏”或自动处理器/内存优化(例如branch-prediction);对于Pool
的后端结构,获取最近使用的对象(即使用Stack
)比获取最不活跃的对象更快(即使用{{1} })?
换句话说,从池中获取200个“使用过的”+ 100个“新”(堆栈方法)对象会比获得200个“新”+ 100个“已用”(队列方法)对象更快吗?
是的,我知道这可能是矫枉过正的优化......只要忍受我;我认为这是一个有趣的问题!而且我没有技术诀窍来将速度差异与代码(应该被忽视)与其他因素的差异区分开来。