首页
社区
课程
招聘
[原创] 对SSE2模式匹配算法SSE2PatternFind的一点改造优化
发表于: 2024-9-4 08:13 2206

[原创] 对SSE2模式匹配算法SSE2PatternFind的一点改造优化

2024-9-4 08:13
2206


       为对某软件的指定模块打特征码补丁,最近研究学习了各种搜索算法(Sunday、Shift_And、BNDM等),对比发现,内存特征码搜索还是下面两位大佬基于SSE2指令集的搜索算法速度最快。
于是认真学习了两位大佬的文章,根据自己的理解做了一点点改造和优化,分享给大家,欢迎拍砖!!!

学习参考文章如下,感谢大佬们分享的好文!
https://bbs.kanxue.com/thread-209946.htm
https://www.52pojie.cn/thread-1854232-1-1.html

主要改进:
①通过掩码的方式使其支持 前、中、后通配符 及半字节;
②通过SSE2指令集找到特征码字节序列中的第一个不为'??'的元素后,后续的字节只比较不是'??'的特征字节,优化比较字节数。

通过测试,根据不同的特征码型式(特征码长度不同、通配符数量不同等),在我的环境中,比优化前(上面文章中代码)搜索速度提升5%~15%左右。

本人不是计算机专业,也不从事相关工作,纯属业余爱好,代码难免错漏,更谈不上优雅,望各位大佬批评指正!



[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2024-9-4 10:34 被haogl编辑 ,原因:
收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 3546
活跃值: (3930)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
感谢分享。
2024-9-4 12:51
0
游客
登录 | 注册 方可回帖
返回
//