开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

12
返回列表 发新帖
楼主: 伊人独醉
收起左侧

[易语言纯源码] 寻找字节集-通配符,目前最快

[复制链接]
发表于 13 小时前 | 显示全部楼层   新疆维吾尔自治区巴音郭楞蒙古自治州
谢谢分享
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)

签到天数: 7 天

 楼主| 发表于 14 小时前 | 显示全部楼层   四川省泸州市
  
子程序名返回值类型公开备 注
汇编_寻找字节数组整数型 汇编处理,支持??通配符 只比寻找字节集慢一点
参数名类 型参考可空数组备 注
被搜寻字节集字节集
欲寻找字节集文本型
起始搜寻位置整数型
变量名类 型静态数组备 注
处理文本文本型 
数据长度整数型 
掩码缓存字节集 
返回值整数型 
如果真 (欲寻找字节集 ≠ “”)  ' 如果是空数据转字节集的时候非法写入会崩溃
处理文本 = 汇编_删全部空 (欲寻找字节集)  ' 去掉所有空格(兼容带空格/不带空格)
数据长度 = 汇编_取文本长度 (处理文本)
掩码缓存 = 取空白字节集 (数据长度)
置入代码 ({ 139, 125, 252, 139, 77, 248, 139, 117, 244, 209, 233, 131, 198, 8, 227, 85, 102, 139, 7, 60, 63, 116, 65, 128, 252, 63, 116, 60, 102, 45, 48, 48, 102, 37, 223, 223, 60, 9, 126, 12, 44, 7, 60, 9, 126, 4, 60, 15, 126, 2, 48, 192, 128, 252, 9, 126, 15, 128, 236, 7, 128, 252, 9, 126, 5, 128, 252, 15, 126, 2, 48, 228, 192, 224, 4, 8, 224, 136, 6, 73, 131, 198, 2, 131, 199, 2, 235, 182, 198, 70, 1, 1, 73, 131, 198, 2, 131, 199, 2, 235, 169 })
置入代码 ({ 139, 85, 248, 139, 117, 244, 209, 234, 131, 198, 8, 133, 210, 116, 71, 74, 131, 198, 2, 246, 70, 255, 255, 117, 242, 139, 125, 8, 139, 63, 139, 79, 4, 131, 199, 8, 87, 139, 69, 16, 72, 127, 4, 49, 192, 235, 6, 41, 209, 41, 193, 1, 199, 138, 70, 254, 58, 7, 117, 31, 71, 73, 49, 219, 57, 211, 116, 27, 246, 68, 94, 1, 255, 117, 8, 138, 36, 94, 58, 36, 31, 117, 229, 67, 235, 234, 49, 255, 79, 235, 7, 71, 73, 117, 217, 94, 41, 247, 137, 125, 240 })
返回 (返回值)  ' 汇编不返回 自动释放内存


经过测试repne scasb这个命令效率太慢了,改为逐个字节对比,目前速度比核心支持库寻找字节集还快,简单修改还没优化,等下一个版本优化或者改为SSE4.2指令
回复 支持 1 反对 0

使用道具 举报

结帖率:100% (1/1)

签到天数: 7 天

 楼主| 发表于 15 小时前 | 显示全部楼层   四川省泸州市
dnxl 发表于 2026-6-11 02:25
小伙子是不是对速度有什么误解,扣特征码搜索的低层代码改了一下,完全碾压啊

...

通配符测试.png
我还以为什么hei科技呢,我是正这找,一堆1干扰数据让我速度变慢,你反转找,先对比20自然没有干扰,这样测试不久暴露了
回复 支持 反对

使用道具 举报

结帖率:75% (3/4)

签到天数: 9 天

发表于 18 小时前 | 显示全部楼层   江西省南昌市
只能说 还是白银的快 .

点评

白银好像没有通配符搜索吧,晚点弄个指令集的,会快一点不知道,有其他源码没,我到时候写出来好对比测速   四川省成都市  发表于 16 小时前
回复 支持 反对

使用道具 举报

结帖率:80% (4/5)

签到天数: 11 天

发表于 21 小时前 | 显示全部楼层   广西壮族自治区柳州市
小伙子是不是对速度有什么误解,扣特征码搜索的低层代码改了一下,完全碾压啊 QQ20260611-022156.jpg

点评

找到速度慢原因了,repne scasb效率没有逐个字节快,拖慢了很多速度,以前一直图方便都没忘这方面测试,试试新版代码,比核心支持库快多了,你那个代码有很多问题,使用不方便,还有很多无效操作,你测试用01 02 03   四川省成都市  发表于 14 小时前
开始看到过这种指令集的,怕兼容性不好就没改,查了一下资料SSE4.2兼容性也很强,研究一下弄一个看看有没有优化空间,你这个代码能发一下吗   四川省成都市  发表于 16 小时前
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)

签到天数: 7 天

 楼主| 发表于 23 小时前 | 显示全部楼层   四川省泸州市
天雷 发表于 2026-6-10 23:15
有白银大佬的快吗

我看了,白银那个确实快,但不支持通配符,用的指令集一次判断16个字节,有的CPU不支持,而且代码太臃肿了,根本没法读和修改
回复 支持 反对

使用道具 举报

签到天数: 5 天

发表于 23 小时前 | 显示全部楼层   安徽省合肥市
感谢分享!!!
回复 支持 1 反对 0

使用道具 举报

结帖率:100% (5/5)

签到天数: 3 天

发表于 昨天 23:15 | 显示全部楼层   广东省广州市
有白银大佬的快吗

点评

不知道你说的哪个,但是论坛上我就没找到比这还快的,而且我用汇编写的,优化了又优化,除非用汇编指令集,不然的话没有更快的了,指令集要判断的东西太多了,代码很臃肿,有寻找字节集的速度差不多够用了,对一个进   四川省成都市  发表于 23 小时前
回复 支持 反对

使用道具 举报

签到天数: 6 天

发表于 昨天 23:12 | 显示全部楼层   河北省石家庄市
感谢分享
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备2025452707号) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表