【发布时间】:2014-03-28 00:09:07
【问题描述】:
在我的 Groovy 应用程序中,我有一个每秒被调用多次的函数,所以我想让它尽可能快。这个函数接收一个对象列表,然后做一些魔术,并返回另一个列表。返回的列表内容取决于传递给函数的列表内容。
为了加快速度,我想缓存返回的列表,因为函数中的魔法不会经常改变。因此,在大约 99% 的调用中,此函数为相同的参数返回相同的列表。
为了实现这样的缓存,我想使用地图。此映射的键应该是函数输入参数中的列表,映射的值应该是函数为该输入列表返回的列表。
我的问题是:使用任意对象列表作为 Groovy 映射的键的最佳方式是什么?我想我可以遍历地图中的所有键,并逐项比较每个列表(地图的键)。但是那味道,我认为应该有更好更快的方法。
有什么想法吗?
【问题讨论】: