精易论坛

标题: 超级列表框 快速插入表项 10万4秒 [打印本页]

作者: 帅气与大侠    时间: 2023-10-12 12:42
标题: 超级列表框 快速插入表项 10万4秒
最近在制作一个自用小工具,用到了超级列表框,某些情况下需要插入5-10万左右的数据量,原生超级列表框的插入速度是较慢的,论坛有很多前辈【魔改】超级列表框的例子,大多实现起来都非常繁琐,实际使用上较为不便,cha询超列的消息过程中发现了一条超列消息,LVM_SETITEMCOUNT,作用就是预分配超列的项目内存,这样在插入表项时就不会频繁申请内存,从而提高了插入表项速度。
代码也超级简单,纯原生,就一条代码:超级列表框.发送消息(#LVM_SETITEMCOUNT,表项数,0)
速度对比情况:
纯原生无脑插入表项:5W≈24秒纯原生可视=假,插入表项:5W≈4秒
纯原生可视=假+LVM_SETITEMCOUNT,插入表项:5W≈2秒
源码例子下载: demo.e (4.87 KB, 下载次数: 148)
  
超级列表框1.全部删除 ()  ' 调试状态删除耗时不统计,编译后全部删除速度会很快
启动时间 = 取启动时间 ()
超级列表框1.禁止重画 ()
超级列表框1.可视 = 假
超级列表框1.发送信息 (4143, 50000, 0)  ' #LVM_SETITEMCOUNT=4143,作用就是预分配项目数量的内存,这样再插入表项时候避免了频繁申请内存,调试状态下超列被销毁时释放内存会等待较长时间,编译后释放内存极快
计次循环首 (50000, I)
表项索引 = 超级列表框1.插入表项 (-1, 到文本 (表项索引 + 1), , , , )
' 超级列表框1.置标题 (表项索引, 0, 到文本 (表项索引 + 1))
超级列表框1.置标题 (表项索引, 1, “标题1”)
超级列表框1.置标题 (表项索引, 2, “标题2”)
计次循环尾 ()
超级列表框1.可视 = 真
超级列表框1.允许重画 ()
超级列表框1.发送信息 (4143, 0, 0)
启动时间 = 取启动时间 () - 启动时间
信息框 (启动时间, 0, , )


i支持库列表   支持库注释   
iext扩展界面支持库一



作者: chaoup    时间: 2023-10-12 12:44

作者: 迷糊的弟弟    时间: 2023-10-12 12:53
下载支持一下
作者: 布点脚本师    时间: 2023-10-12 13:01
感谢分享
作者: BlueBoy    时间: 2023-10-12 13:10
难道我的电脑出问题了?编译后2个方式的时间是一样的
作者: 嫂子    时间: 2023-10-12 13:13
LVM_SETITEMCOUNT 这是虚表 用的。也不是预分配内存。。。。你产生幻觉了
作者: quary    时间: 2023-10-12 13:23
大兄弟 调试是快了很多  编译出来后速度一样的额
作者: ZHuanR    时间: 2023-10-12 16:02
新技能已get√
作者: 菜鸟编号007    时间: 2023-10-12 16:37
学习
作者: 深圳梦    时间: 2023-10-12 18:05
支持开源~!感谢分享
作者: 是可可吖    时间: 2023-10-12 18:08
上个版本帖子的传送
作者: 光影魔术    时间: 2023-10-12 18:13
感谢分享
作者: 杨明煜    时间: 2023-10-12 18:16
支持分享.............
作者: abbll    时间: 2023-10-12 19:54
学习学习
作者: zifeiyu    时间: 2023-10-12 20:05
6666666666666666666666
作者: bianyuan456    时间: 2023-10-12 20:23
感谢分享,我为了更快,买了精易论坛的那个扩展界面支持库一Ex支持库,1百万行只需要1秒钟就导入进去了!!!
作者: qqmqqg    时间: 2023-10-12 20:54
感谢分享~
作者: 夏亿    时间: 2023-10-12 21:01

支持开源~!感谢分享
作者: 查过    时间: 2023-10-13 08:02
已经顶贴,感谢您对论坛的支持!
作者: 豆豆灰常开心    时间: 2023-10-13 08:07
感谢发布原创作品,精易因你更精彩!6666666666666
作者: kingchain    时间: 2023-10-13 08:19
没什么效果   
作者: 一指温柔    时间: 2023-10-13 09:13
开源精神必须支持~
作者: kantal    时间: 2023-10-13 10:22
编译后速度一样  
作者: pipicool    时间: 2023-10-13 15:12
学习一下
作者: heiioxiaojian    时间: 2023-10-13 16:16
支持开源~!感谢分享
作者: 查过    时间: 2023-10-14 07:12
感谢楼主分享!
作者: 豆豆灰常开心    时间: 2023-10-14 07:17
已经顶贴,感谢您对论坛的支持!
作者: mood100    时间: 2023-10-14 08:28
感谢分享了,收藏学习
作者: 李泽勇2    时间: 2023-10-14 08:41
在调试模式速度提升明显,但是编译后速度差不多。估计是硬伤,的换语言
作者: yefeili1690    时间: 2023-10-15 00:29
感谢分享
作者: yangdoudou    时间: 2023-10-15 09:07
开源精神必须支持~
作者: aa2976    时间: 2023-10-16 17:38
感谢分享
作者: yuzhong    时间: 2023-10-18 12:36
感谢分享
作者: fasdfasfa    时间: 2023-10-18 22:38
果然没区别
作者: hymm2003    时间: 2023-10-18 23:12
学习一下
作者: 王先生52    时间: 2023-10-19 13:52
看看吧,不知道有没有用
作者: heihuoge    时间: 2023-10-20 20:09
学习一下。
作者: Amwsffpl    时间: 2023-10-21 14:15
谢谢分享
作者: 草花祭    时间: 2023-10-24 16:52
参考参考
作者: nbgjy    时间: 2023-11-3 09:41
感谢分享,很给力
作者: year1970    时间: 2023-11-21 16:32
感谢分享,很给力

作者: clove592    时间: 2023-11-24 02:18
给力感谢开源
作者: wolfpack    时间: 2024-4-24 08:11
挺好。。。。。。。。。。。。
作者: year1970    时间: 2024-5-25 09:31
感谢分享
作者: qinrui    时间: 2024-5-25 20:19
666666666666666666666666666666
作者: myogoo    时间: 2024-6-18 22:26
666666666666666666666666666666




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4