设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1941|回复: 3
打印 上一主题 下一主题

[模块/函数] HackVBASpeed 之 len VS lenb

[复制链接]
跳转到指定楼层
1#
发表于 2015-8-8 16:00:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 wang1999 于 2015-8-10 12:37 编辑

len VS lenb


关于len 与 lenb, 都是取字符串的长度,


我们先看string的结构图
string="0123"



通过上图, 我们一看就知道, 字符串在内存中保存的数据是字节长, 而len 与 lenb 也是简单取这里的值
所以 len 要比lenb 要多干了一件事, 取到值后,还要除2, 然后再返回


基本原理都清楚了, 测试数据就不必了,  lenb 速度应该比 len 快约 10%.
(当然lenb的理论上运算量应该是len的三分二, 但还要考虑函数调用的开销)


结论:
lenb 要快 10%

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2015-8-9 10:51:13 | 只看该作者
本帖最后由 wang1999 于 2015-8-10 12:45 编辑

上面图示有些错误 ,更正一下
VB字符串(BSTR):"012", 6个字节长度, 实际占用内存 4+6+2=12字节

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
3#
发表于 2015-8-9 13:38:27 | 只看该作者
{:soso_e114:}1楼写得很混乱。一会说len比lenb快10%,
结论又说lenB快10%。看不明白究竟是len快,还是lenb快?
2楼的BSTR的字节占用,也是没写对呀。
4#
 楼主| 发表于 2015-8-10 12:41:26 | 只看该作者
本帖最后由 wang1999 于 2015-8-10 12:48 编辑
ganlinlao 发表于 2015-8-9 13:38
1楼写得很混乱。一会说len比lenb快10%,
结论又说lenB快10%。看不明白究竟是len快,还是lenb ...
谢谢指出.
一楼有笔误,改了一下.
len要比lenb要多干了一件事, 所以要慢

二楼,字节长度应该是4字节.

另:终止符要视情况. 占用2字节或4字节.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-25 08:29 , Processed in 0.091275 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表