我正在尝试记录 Neo4J 算法的执行。我运行一个算法 10 次,但是第一次运行总是比其余的执行时间长得多。例如:
elapsed time = | 86345.0 | 3417.0 | 3416.0 | 4228.0 | 3369.0 | 3323.0 | 3338.0 | 3370.0 | 3775.0 | 3370.0 //ms
为什么会这样?Neo4J 是否足够聪明,可以将已访问(从数据库读取)的顶点存储在内存中,因此从第二次执行开始,它从内存而不是数据库中读取?我的数据集足够小,可以放入内存(还剩下很多空间)。