日期:2019年11月2日 作者:Commas 注释:字符串拼接是一个常规的操作,随着字符串不断增大,字符串拼接耗时也越来越长,那么提升字符串拼接效率的话题就是一个十分值得探讨的话题,接下来我们用数据说话,浅谈一下VB6提升字符串拼接效率的问题吧。
目录
备注:以上测试时间精确度为秒级
从上表中,我们可以得出以下结论:
对于大字符串处理,字符串数组拼接速度远远远大于字符串直接拼接速度;对于小字符串处理,三种拼接方式在耗时上基本持平;分析: 字符串直接拼接("&"、"+"),在小字符串处理(2^16 个字符以内)中,是属于定长字符串拼接,只会在声明字符串变量的时候申请一次内存空间,不会有其他的额外资源消耗。但是随着处理的字符串不断增大,就会由定长字符串转为变长字符串,那么就会每次执行字符串拼接操作的时候重新申请内存空间,这种资源消耗叠加效应等弊端就逐渐暴露出来,而字符串数组拼接(Join(SourceArray, [Delimiter])),开始就申明数组,确定了栈内存大小,数组中每个元素赋值就可以控制在一个小字符串的赋值操作,所以这种操作效率还是比较快速的;
'数组转为字符串的函数: Function Join(SourceArray, [Delimiter]) As String VBA.Strings 的成员 Join array elements into a string知识加油站: “VB6 String 数据类型” 有两种:变长与定长的字符串。 1、变长字符串最多可包含大约 20 亿 ( 2^31)个字符。 2、定长字符串可包含 1 到大约 64K ( 2^16 ) 个字符。
控制台输出结果: 字符串长度4000000,耗时1=0 华丽的分隔线---------- 字符串长度4000000,耗时2=2942 华丽的分隔线---------- 字符串长度4000000,耗时3=2950
本文参考:Microsoft Repository 2.0
版权声明:本文为博主原创文章,如需转载,请给出: 原文链接:https://blog.csdn.net/qq_35844043/article/details/102865760
