本帖最后由 chriscp 于 2023-1-30 19:47 编辑
已经完成了通用对象支持库的初版
粗略测试了一下性能 测试结果在最后面
相比官方的库性能还是提升了不少 后面的计划是先修复现有bug 然后再拓展一些新功能吧
支持静态编译 支持链接器版本还是同正则库 vs2010-2022
通用对象支持库:
寻找文本:
15.6M的文件 寻找字符串1000次
测试结果:
寻找文本: 14109ms
倒找文本: 9078ms
寻找文本无视大小写: 21406ms
倒找文本无视大小写: 14422ms
添加:
1000000次连接字符串“1234567890”
测试结果:
3156ms
1000000次连接字符串“1234567890” 置内存增量10000000
测试结果:
78ms
通用对象支持库Ex:
寻找文本:
15.6M的文件 寻找字符串1000次
测试结果:
寻找文本: 1578ms
倒找文本: 1406ms
寻找文本无视大小写: 9391ms
倒找文本无视大小写: 6391ms
添加:
1000000次连接字符串“1234567890”
测试结果:
15ms
1000000次连接字符串“1234567890” 置内存增量10000000
测试结果:
0-16ms (有时是0 有时是16 可能是因为取启动时间精度太低 不能取到16以下)
补充内容 (2023-1-9 16:28):
拓展了一个命令:寻找长文本 该命令使用了简化版的bm算法,算法效率要比默认算法要高,实际使用的时候由于文本的情况可能会有所浮动,请自行测试
补充内容 (2023-1-12 23:17):
拓展了三个快速文本对象的命令:包含,开始于,结束于
补充说一下 以下命令:
取缓冲区
释放缓冲区
置内存增量
目前调用都是无效的
取缓冲区虽然会返回缓冲区指针 但是并不会改变缓冲区容量 所以直接读写是不安全的
释放缓冲区无效
置内存增量 无效 因为调整了扩容策略 内存增量并不是一个固定值
置可用内存第一个参数已经被设置有效 可以实现预分配内存 大大提高了 字符串连接的效率 感谢@aiky123 反馈的问题
我重新修改了 字符串连接以及字符串设置 提高了他们的效率 测试结果已经修改到了上面
补充内容 (2023-1-30 19:45):
修正子文本替换以及子字节集替换的问题(效率极低之前的方法)
通用对象支持库Ex.zip
(410.67 KB, 下载次数: 184)
|