当前位置 : 主页 > 网络安全 > 测试自动化 >

性能 – Clojure时间序列分析

来源:互联网 收集:自由互联 发布时间:2021-06-22
我有一个大的数据集(200GB未压缩,9GB压缩在bz2 -9中)的股票价格数据. 我想对它们进行一些基本的时间序列分析. 我的机器有16GB的RAM. 我更愿意: 将所有数据(压缩)保存在内存中 动态解压缩
我有一个大的数据集(200GB未压缩,9GB压缩在bz2 -9中)的股票价格数据.

我想对它们进行一些基本的时间序列分析.

我的机器有16GB的RAM.

我更愿意:

>将所有数据(压缩)保存在内存中
>动态解压缩该数据,并将其流式传输[所以没有任何东西碰到磁盘]
>在记忆中做所有分析

现在,我认为这里与Clojure的懒惰和未来的对象有很好的交互(即当我尝试访问它们时我可以定义对象,我会动态解压缩它们.)

问题:在Clojure中进行高性能时间序列分析时,我应该记住哪些事项?

我对涉及的技巧特别感兴趣:

>有效地将记录数据存储在内存中
>有效地进行计算
>奇怪的卷积减少数据传递次数

欢迎提供书籍/文章/研究论文建议. (我是CS博士生).

谢谢.

一些想法:

>在存储压缩数据方面,我认为您不会比操作系统自己的文件系统缓存做得更好.只需确保它配置为使用11GB的RAM进行文件系统缓存,它应该将您的整个压缩数据集拉入内存,因为它是第一次读取.
>然后,您应该能够定义您的Clojure代码,以便通过ZipInputStream延迟拉入数据,这将为您执行解压缩.>如果需要对数据执行第二次传递,只需在同一文件上创建一个新的ZipInputStream.操作系统级缓存应确保您不再次访问磁盘.

网友评论