超级列表框的快速导入数据

易语言 2020-07-28 19:01:04

超级列表框的快速导入数据

之前从TXT导入文本到超级列表框有时候会卡一下,有时候会很慢,这对于某些需要在极短时间完成的事情可能是非常致命的,虽然相差可能就是500~1000微秒。但长时间下来就成了效率问题。
这里一方面总结下学习经验,一方面提下几个我认为学习过程中会忽略但十分关键的地方。
因为我想在极短的时间导入两个TXT到两个超级列表框中。导入的过程需要用到两次分割。

第一次测试: 开始我用的是全局变量,因为是不同的按钮事件,所以彼此之间不会影响。
以下的第一个超级列表框的导入时间
* 515.000000 (超级列表框一导入所用时间)
* 499.000000 (超级列表框一导入所用时间)
* 531.000000 (超级列表框一导入所用时间)
* 499.000000 (超级列表框一导入所用时间)

但是,在超级列表框一导入后,导入超级列表框二,再次导入超级列表框一时间就出现了很大的变化
* 515.000000 (超级列表框一导入所用时间)
* 637.000000 (超级列表框二导入所用时间)
* 1875.000000 (超级列表框一导入所用时间)
* 515.000000 (超级列表框一导入所用时间)

通过测试我发现是“整数型变量“和”分割换行符变量“所导致的,当然文件号必须是局部变量。
再测试,时间就变的正常。
* 496.000000 (超级列表框一导入所用时间)
* 592.000000 (超级列表框二导入所用时间)
* 618.000000 (超级列表框一导入所用时间)
* 517.000000 (超级列表框一导入所用时间)

这里我仍然想提升下速度,在之前看到过线程,研究了下,经过测试发现简单的线程调用时间可能比逐步点击按钮所用的时间要多。
* 609.000000 (超级列表框一导入所用时间) * 1326.000000 (超级列表框二导入所用时间)
这里我们看到开启线程使用的最终时间是1326微秒,而上面逐步点击按钮得到的时间是(取个时间)592+618=1210微秒。
所以线程的使用时间会多于单线程执行的使用时间。也就是其实并行的计算还是取决于计算机的性能。

通过测试和之前做软件过程中的一些问题,分享些思路。
一:不是所有的变量都是全局变量好,根据具体要实现的不同来对变量进行归类。
二:使用高效代码,即使非常简单也一定要清楚这个代码要表达的意思,最好能够新建一个.e的程序来测试一下,不然返工重新来做的话就得不偿失。
三:尽量少使用模块,其实所有的模块都是子程序,要学会查找API。