当我通过证明运行我的测试用例时,在第一次测试运行之前加载我的测试数据大约需要20-25秒。有没有办法让一个单独的,持久的进程将测试数据加载到内存中,并证明每次运行测试时都会立即检索副本?
我知道我可以有一个单独的进程返回JSON / XML,但是它必须被解析。我想知道是否可以有另一个进程返回对数据结构的引用。
答案 0 :(得分:1)
如果你正在谈论单独的程序调用 - 不,那就没办法了。记忆在过程中拥有,并且在过程之后被破坏。
做你正在尝试的唯一方法是:
fork
子进程这意味着“已加载”#39;数据将保留在内存中 - fork
使用每个孩子的写时复制(因此,如果它没有改变,你根本就不会使用更多的内存)。
但每个孩子都可以访问相同的“记忆空间”。
或者,您可以使用Storable
- 和:
/tmp
和store
将您的数据结构写入磁盘(或retrieve
)。freeze
和thaw
将数据作为标量传递。