【发布时间】:2011-09-12 13:52:56
【问题描述】:
我想对 java.io 的高效序列化提出疑问。主要在计算时间方面有效。将 long[]、int[]、short[] 等原生数组序列化和反序列化到磁盘的最快方法是什么?
我的数组大小在 100mb 到 600mb 之间。我能做的当然是将我的 outstream 与 out.writeInt(...) 和 out.readInt(...) 一起使用,但我想必须有一种更快(缓冲?!)的方式,因为我知道我是读取一个完整的数组。
我所知道的是,该框架为我提供了一个可以转换为 InputStream 的 DataInput。其余的由我的框架处理。
提前致谢,
埃斯
【问题讨论】:
-
外部数据格式是预先指定的还是您可以控制?
-
您还没有真正定义问题。您能否提供一些性能数据(每秒 I/O)?可能是您获得的任何速度都很好 - 但是如果没有有关您的问题的一些数据,我们怎么知道呢?
-
normalocitY:很抱歉。我没有任何时间,但它们不会有太大用处。 (这里有 SSD,其他人有其他东西等等。)我只是想知道是否有更有效的方法来存储完整的本机 java 数组。 aix:我得到的只是一个输入流,我不知道外部数据格式……这是我的问题。我只是得到一个 DataInput 并想写数组。
标签: java arrays performance serialization native