创世魂 发表于 2022-2-5 13:05:34

【解决方案】火山视窗快速文本合并操作

火山视窗快速文本合并操作。。

顾名思义,只能合并。。易语言里面快速文本其它的功能暂无。。

只有两个方法:添加 ,取文本。

100万循环,大约7mb的文本数据,耗时结果如下:
基于内存映射文件类二次封装,编译发布版后,快速文本比火山自带的加入文本,大约快500毫秒。

经过测试,利用快速文本生成了一个760m的文件,耗时7秒。。虽然效果可能并不理想,但是最起码比自带的加入文本要快很多。






**** Hidden Message *****



小蜗牛 发表于 2022-2-5 13:46:48

置文本预分配字符数 效果应该一样吧?

芒g一号 发表于 2022-2-5 13:54:36

感谢分享

urenai 发表于 2022-2-5 14:53:38

本帖最后由 urenai 于 2022-2-5 15:10 编辑

不管怎么合并最终都是申请一段连续内存存放,想要快只能自己申请堆,自己管理。
不对,我看了下你的源代码。
你是使用内存映射文件,这个应该是最终最快的办法了,除非提前得到总长度,提前申请好内存,直接填充。

另外分割文本被注释了,其实时间都浪费在寻找文本的过程中,网上也有很多快速匹配的例子,可以借鉴后封装个类。

创世魂 发表于 2022-2-5 16:21:34

urenai 发表于 2022-2-5 14:53
不管怎么合并最终都是申请一段连续内存存放,想要快只能自己申请堆,自己管理。
不对,我看了下你的源代码 ...

c渣渣不会,搞不来,

创世魂 发表于 2022-2-5 16:22:02

小蜗牛 发表于 2022-2-5 13:46
置文本预分配字符数 效果应该一样吧?

不晓得。

苹果2014 发表于 2022-2-5 18:09:50

你是使用内存映射文件,这个应该是最终最快的办法了,除非提前得到总长度,提前申请好内存,直接填充

苹果2014 发表于 2022-2-5 18:14:56

<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 个错误.

网猫 发表于 2022-2-5 19:18:08

:)

smk718 发表于 2022-3-28 21:12:34

火山视窗快速文本合并操作
页: [1] 2 3 4 5
查看完整版本: 【解决方案】火山视窗快速文本合并操作