欢迎!请查看关于页面,了解更多关于此如何工作的信息。
未展开小图增强的占位符(CLJ-1517的向量伴侣)。
评论者:jafingerhut
是否预期这会比 PersistentArrayMap 表现得好?
评论者:ztellman
是的,在某些情况下,显著如此,以下是三个原因(按重要性排序):
有一系列基准测试在https://github.com/ztellman/cambrian-collections/blob/master/test/cambrian_collections/map_test.clj#L64-L148,这些测试将操作与使用关键词(这不会从哈希比较中受益)和符号(这是有的)的映射进行比较。7个条目的映射会导致展开映射溢出,所以它们仅用于测试溢出机制。
我已经在我的笔记本电脑上运行了基准测试套件,结果位于https://gist.github.com/ztellman/961001e1a77e4f76ee1d。一些值得注意的结果
into
其余基准测试由于展开而略快,但大部分性能提升来自上述行为。在一个非合成基准测试中,我发现Cheshire JSON解码(其中33%是JSON词法分析,66%是数据结构构建)大约快了30-40%。