8.6 5'14 这世上的事,哪有你想得那么简单,你以为你想跟谁好,就能跟谁好。
3 个版本的实现,第一次运行,结果就是全对的。
后面三个是用的avx256的或运算,所以相比上面那个64位的或运算没有变快。
可能与CPU有关,目前avxOR的实现是基于intel的指令集。
其他版本里位集或运算 64/256 不兼容还需要修改,github codespace 上 256 比 64 慢。
另外内存小了些,没小一半是因为位集占比还不够大,等订阅数更多,分组更多,位集索引空间就远大于订阅集本身大小了。
可以看到,原数据160MB,优化前238,优化后199,增量正好少一半(当然了,这个本身就是代码里计算出来的)。
构建时间也少了些,因为位集少了一半,映射关系和标记次数也少了一半。 #数据结构和算法#
3 个版本的实现,第一次运行,结果就是全对的。
后面三个是用的avx256的或运算,所以相比上面那个64位的或运算没有变快。
可能与CPU有关,目前avxOR的实现是基于intel的指令集。
其他版本里位集或运算 64/256 不兼容还需要修改,github codespace 上 256 比 64 慢。
另外内存小了些,没小一半是因为位集占比还不够大,等订阅数更多,分组更多,位集索引空间就远大于订阅集本身大小了。
可以看到,原数据160MB,优化前238,优化后199,增量正好少一半(当然了,这个本身就是代码里计算出来的)。
构建时间也少了些,因为位集少了一半,映射关系和标记次数也少了一半。 #数据结构和算法#
全部评论
相关推荐
03-18 15:31
苏州大学 产品经理 点赞 评论 收藏
分享
点赞 评论 收藏
分享