散列
在Fortran中快速实现哈希映射
描述
在Fortran中实现GCC哈希图结构。 通过使用宏,只要您实现(或编译器提供)相应的等价运算符(==),赋值运算符(=)和键类型的hash_value接口,它就可以支持任何类型的键和值。值类型的赋值运算符。
基准测试
以下是我的Fortran实施和GCC 4.8标准库之间的基准测试:
对于14个整数数组作为键,将双精度浮点作为值,输入10M:
Fortran哈希:
插入:1.80 s
清洁:1.70 s
1.59 GB
GCC unordered_map:
插入:2.02 s
清洁:0.61 s
1.38 GB
对于2整数数组作为键,将双精度浮点数作为值,输入20M:
Fortran哈希:
插入:2.66 s
清洁:2.54 s
2.57 GB
GCC unordered_map:
插入:3.60 s
清洁
1