【解决方案】火山视窗快速文本合并操作
火山视窗快速文本合并操作。。顾名思义,只能合并。。易语言里面快速文本其它的功能暂无。。
只有两个方法:添加 ,取文本。
100万循环,大约7mb的文本数据,耗时结果如下:
基于内存映射文件类二次封装,编译发布版后,快速文本比火山自带的加入文本,大约快500毫秒。
经过测试,利用快速文本生成了一个760m的文件,耗时7秒。。虽然效果可能并不理想,但是最起码比自带的加入文本要快很多。
**** Hidden Message *****
置文本预分配字符数 效果应该一样吧? 感谢分享 本帖最后由 urenai 于 2022-2-5 15:10 编辑
不管怎么合并最终都是申请一段连续内存存放,想要快只能自己申请堆,自己管理。
不对,我看了下你的源代码。
你是使用内存映射文件,这个应该是最终最快的办法了,除非提前得到总长度,提前申请好内存,直接填充。
另外分割文本被注释了,其实时间都浪费在寻找文本的过程中,网上也有很多快速匹配的例子,可以借鉴后封装个类。
urenai 发表于 2022-2-5 14:53
不管怎么合并最终都是申请一段连续内存存放,想要快只能自己申请堆,自己管理。
不对,我看了下你的源代码 ...
c渣渣不会,搞不来, 小蜗牛 发表于 2022-2-5 13:46
置文本预分配字符数 效果应该一样吧?
不晓得。 你是使用内存映射文件,这个应该是最终最快的办法了,除非提前得到总长度,提前申请好内存,直接填充 <F:\huoshan-2021-6-5\文件合并1\测试\src\main.v>, 33: 错误: 没有找到所指定名称的类"内存映射文件类"
<F:\huoshan-2021-6-5\文件合并1\测试\src\main.v>, 35: 错误: "映射"的数据类型不为类
<F:\huoshan-2021-6-5\文件合并1\测试\src\main.v>, 36: 错误: "映射"的数据类型不为类
<F:\huoshan-2021-6-5\文件合并1\测试\src\main.v>, 38: 错误: "映射"的数据类型不为类
<F:\huoshan-2021-6-5\文件合并1\测试\src\main.v>, 58: 错误: "映射"的数据类型不为类
<F:\huoshan-2021-6-5\文件合并1\测试\src\main.v>, 62: 错误: "映射"的数据类型不为类
--- 项目"测试"编译或连接失败. 编译过程中共遇到了 0 个警告, 6 个错误. :) 火山视窗快速文本合并操作