加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

高效代码:VB.Net中的短整数数据类型

发布时间:2020-12-17 00:10:56 所属栏目:大数据 来源:网络整理
导读:我正在编写一个性能非常关键的应用程序.对于x64 CPU最有效的数据类型,我有点困惑. MDSN说“In some cases,the common language runtime can pack your Short variables closely together and save memory consumption.”也是“The Integer data type provide
我正在编写一个性能非常关键的应用程序.对于x64 CPU最有效的数据类型,我有点困惑.

MDSN说“In some cases,the common language runtime can pack your Short variables closely together and save memory consumption.”也是“The Integer data type provides optimal performance on a 32-bit processor”

我正在使用大量数据(在锯齿状数组中平均大约500万个值[10或更多] [30] [128,128])来实时生成位图(数据值的热图).所有数据点都是200到3500之间的整数,所以我可以使用short或integer.哪个效率最高?

谢谢.

Int32类型对于常规变量(例如32位和64位应用程序中的循环计数器)最有效.

处理大型数据时,读取/写入单个值的效率无关紧要,重要的是访问数据,以便尽可能减少内存缓存未命中.与访问高速缓存的内存相比,内存高速缓存未命中非常昂贵. (此外,与内存缓存未命中相比,页面错误(内存交换到磁盘)非常昂贵.)

为了避免缓存未命中,您可以尽可能紧凑地存储数据,并且在处理数据时,您可以尽可能线性地访问数据,以便您访问的内存区域尽可能小.

对于任何足以跨越多个缓存块的数组,使用Int16最有可能比Int32更有效,并且缓存块通常只有几千字节.

由于您的值可以仅以12位存储,因此将每个值存储在1.5个字节中甚至可能更有效,尽管这意味着处理数据的处理更多.减少25%的数据大小可能会弥补额外的处理.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读