欢迎!请查看关于页面以获得更多关于这是如何运作的信息。
问题 JVM分析器表明按当前实现的校验和是一个显著的瓶颈。
原因 impl.RawOutput使用CheckedOutputStream包装提供的OutputStream。每次写入rawInt时,CheckedOutputStream都会调用其校验和以更新自己。
Adler32的update方法碰巧是原生的,这可能并不适合这个问题。 http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/util/zip/Adler32.java#91
data.fressian的读取端已经公开了一个可以忽略校验庙的旋钮。在写入端没有这样的旋钮。
校验和用于页脚方法。对于静止数据可能非常有用,但可能与其他带外机制重复。
可能的解决方案 缓冲以便校验和不会频繁计算。公开一个旋钮以控制是否启用写入校验和。这可能涉及到对页脚的更改。
评论由:stu发布
校验和的计算可能确实会影响性能。(如果是这样,另一种可能的解决方案就是完全从Fressian中删除校验和。)
但说得话,我不想相信分析器。为了推动这一进展,我希望看到没有分析器参与的现实用例的基准测试。