单凡一开始b[0][bi]就是0,就不需要做&运算了,

上面的注释的版本先检查,非0才运算,到0或执行10次运算即止

下面的版本一上来就运算,再判断是不是0,如果本来就是0,就不需要做多余的&运算,所以理论上注释的版本更优。

然而现实是,统计出来的运算次数没变化,好吧,就算不可能一开始就初始化为0,但运算次数没变,速度怎么慢了这么多?从1.835us到1.269us

还有一个做 | 或运算的版本,图4,也是变慢了。

​其实有大量的情况是0,可以一次与运算都不要做的:图5。

​代码在
https://github.com/shiwanghua/PacketClassification/blob/2d13bd91e0d701f432b3c0e8e9d1cf424259209a/20221003-GraduationDesign/HEMBitsetsSearch/HEMBS.cpp#L320

 (34257)#C++# 
全部评论
破案了
点赞 回复 分享
发布于 2022-12-17 03:44 上海

相关推荐

好在哪里了?我请问了?
_hengheng:很好啊,我看旁边同事都入职了都有工作
点赞 评论 收藏
分享
05-29 09:02
门头沟学院 Java
点赞 评论 收藏
分享
06-19 16:59
门头沟学院 Java
是秃子总会发光_:给他一巴掌
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务