查看: 492  |  回复: 0
  VB6 一切为了速度,快速复制数组,只用原来的九分之一的时间。
楼主
发表于 2023年12月4日 20:30

测试数组1000万,新建From1(窗体),新建Command1-6(按钮CommandButton),代码:

具体代码只能由VIP查看,请升级

按Command9运行结果:

【普通方式】值:10000000,按钮1使用了454毫秒
【等号Long方式】值:10000000,类型:Long(),按钮2使用了47毫秒
【普通Byte方式】值:1,类型:Byte(),按钮3使用了15毫秒
【CopyMemory Long方式】值:10000000,类型:Long(),按钮4使用了47毫秒
【CopyMemory Byte方式】值:65,类型:Byte(),按钮5使用了0秒
【Left Byte方式】值:1,类型:Byte(),按钮6使用了47毫秒
【LeftB Byte方式】值:1,类型:Byte(),按钮7使用了31毫秒
【Mid Byte方式】值:1,类型:Byte(),按钮7使用了47毫秒

近9倍的复制差距。

另外,Dim lngArrary2() As Byte: lngArrary2 = lngArrary '数组对数组可以直接拷贝,但还是CopyMemory快。

记得先添加一个模块 modTimeStampToStr.bas ,参考《VB6 利用API获得时间戳精确到毫秒并计算开始和结束时间的差到天日时分秒毫秒,子函数 f_TimeStampToStr

您需要登录后才可以回帖 登录 | 立即注册
【本版规则】请勿发表违反国家法律的内容,否则会被冻结账号和删贴。
用户名: 立即注册
密码:
2020-2024 MaNongKu.com