最近在为推荐服务作性能调优,这个服务的主要逻辑是用离线计算的模型数据给请求中的每个广告打分,再返回这些广告的排序结果,这里面打分的过程其实就用请求中的数据拼成各种key,去查一个大的 map,这种计算非常多,成为了主要的性能瓶颈,代码比较老,使用的是 boost::unordered_map,为了解决这个问题,找了一些第三方库和标准库对比了一下
下面是在一台 aws r4.xlarge 机器上的测试结果(注意编译的时候一定要加 -O2):
std::map<int, int> => 51866903
std::unordered_map<int, int> => 3838175
std::unordered_map<

博客介绍了在推荐服务性能调优过程中,通过对比不同map实现(如boost::unordered_map和tsl::robin_map)的查找性能,发现在AWS机器上tsl::robin_map的性能可以达到std::unordered_map的10倍。线上应用tsl::robin_map后,服务性能整体提升5倍。文章提供了相关性能测试的链接和代码。
最低0.47元/天 解锁文章
8799





