找回密码
 立即注册

QQ登录

只需一步,快速开始

湖南大商帮

初级会员

49

主题

164

帖子

491

积分

初级会员

积分
491
湖南大商帮
初级会员   /  发表于:2023-1-7 12:46  /   查看:1408  /  回复:3
本帖最后由 Richard.Ma 于 2023-1-12 10:20 编辑

在模拟数据5000行,500列的情况下,我取值分别用sheet.getValue 和 getDataItem来测试,性能差别好大,这是为啥呢

如图,将近有1000倍的差别
image.png329828490.png

3 个回复

倒序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-1-9 14:15:18
沙发
getValue是返回其中某个单元格的值
getDataItem首先是返回数据源中指定行的所有内容
一个返回单个单元格,一个返回一整行 本身就不具备可比性。
另外您这边例子中一行有500列,当然会有差异。
并且getDataItem也只花费了1ms时间,返回了1行,500列的数据。我认为这个反而是速度的体现
回复 使用道具 举报
湖南大商帮
初级会员   /  发表于:2023-1-9 20:30:22
板凳
额。。。好吧,尽管不太明白,按道理都是从内存里面取值,这个操作在cpu指令方面应该不会有这么大的差异,但是也只能这样了
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-1-10 09:45:42
地板
好的,那就结贴了,有什么问题欢迎另开新帖进行询问。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部