单凡一开始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 上海

相关推荐

06-08 22:25
门头沟学院 Java
从零开始的转码生活:这hr不会打开手机不分青红皂白给所有人群发这句话,过一会再给所有人再发一遍,这肯定会有重复的,不管,再过一会再发一遍
点赞 评论 收藏
分享
07-02 10:39
门头沟学院 Java
Steven267:说点真实的,都要秋招了,还没有实习,早干嘛去了,本来学历就差,现在知道急了,而且你这个简历完全可以写成一页,劣势太大了,建议转测试
点赞 评论 收藏
分享
昨天 12:09
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

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