欢迎!请查看关于页面以获取有关如何使用此网站的更多信息。
问题 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的读取端已经公开了一个用于在RawInput中忽略校验的旋钮。写入端不存在这样的旋钮。
校验和用于废页方法。它们对于静态数据可能非常有用,但可能与其他带外机制重复。
可能的解决方案 缓冲,以便校验和不频繁地重新计算。公开一个旋钮来控制是否启用写入校验和。这可能导致废页的更改。
评论由:stu
校验和计算可能确实会影响性能。(如果是这样,另一种可能的解决方案是彻底从Fressian中删除校验和。)
话虽如此,我不想相信分析器。为了推动这件事的发展,我想看到没有分析器参与的实际用例基准测试。