范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

C语言编程之局部性

  什么是局部性
  一个编写良好的计算机程序常常具有良好的局部性(locality)。即,他们倾向于引用临近与其最近引用过的数据项的数据项,或者最近引用过的数据项本身。这种倾向性,被称为 局部性原理 。
  局部性通常有两种不同的形式: 时间局部性
  具有良好时间局部性的程序中,被引用过一次的内存位置很可能在不远的将来再被多次引用。 空间局部性
  具有良好空间局部性的程序中,如果一个内存位置被引用了一次,那么程序很可能在不远的将来引用附近的一个内存位置。 局部性原理的应用
  一般来说,有良好局部性的程序比局部性差的程序运行得更快。
  现代计算机系统的各个层次,从硬件到操作系统、再到应用程序,它们的设计都利用了局部性。 硬件层
  局部性原理允许计算机设计者通过引入称为高速缓存存储器,来保存最近被引用得指令和数据项,从而提高对主存的访问速度。 操作系统层
  局部性原理允许系统使用主存来缓存磁盘文件系统中最近被使用的磁盘块。 应用程序
  局部性原理在应用程序的设计中也扮演着重要角色。例如,Web浏览器将最近被引用的文档放在本地磁盘上。 对程序数据引用的局部性
  通过举例来说明程序的局部性 int sumvec(int v[N]) {   int i, sum = 0;      for(i = 0; i < N; i++)   {     sum += v[i];   }   return sum; }
  在这段程序代码中,变量 sum 在每次循环迭代中被引用一次,对于 sum 来说,有好的时间局部性。另外,sum 为标量,没有空间局部性。
  向量 v 的元素是被顺序读取的,按照它们存储在内存中的顺序一个接一个。对于变量 v ,函数具有很好的空间局部性,但是时间局部性很差。因为每个向量元素只被访问一次。
  对于循环体来说,其中的每个变量,要么有好的空间局部性,要么有好的时间局部性。由此断定函数 sumvec 有良好的局部性。
  顺序访问一个向量每个元素的函数,具有步长为 1 的引用模式。每隔 k 个元素访问一个连续向量,就称为步长为 k 的引用模式。 一般来说,随着步长的增加,空间局部性下降。
  多维数组访问举例,二维数组求和,双重嵌套按照行优先顺序: int sumarrayrows(int a[M][N]) {   int i, j, sum = 0;      for(i = 0; i < M; i++)   {     for(j = 0; j < N; j++)     {       sum += a[i][j];     }   }   return sum; }
  这个函数按照数组被存储的 行优先顺序 来访问这个数组,是一个以步长为 1 的引用模式,具有良好的空间局部性。
  如果是以 列优先顺序 进行访问这个数组,for 循环修改为 for(j = 0; j < N; j++) {   for(i = 0; i < M; i++)   {     sum += a[i][j];   } }
  这个循环是按照 列优先顺序 扫描数组,而C语言的数组在内存中是按照  行顺序  来存放的。结果得到步长为 N 的引用模式,导致这个循环的空间局部性很差。 取指令的局部性
  程序的指令是存放在内存中的,CPU 必须取出这些指令,因此也可以评价一个程序关于取指令的局部性。
  for 循环体里的指令是按照连续的内存顺序执行的,因此循环具有良好的空间局部性。
  循环体会被执行多次,因此,它也有很好的时间局部性。 小结
  量化评价程序中局部性的一些简单原则为: 重复引用相同变量的程序有良好的时间局部性 对于具有步长为 k 的引用模式的程序,步长越小,空间局部性越好。具有步长为 1 的引用模式的程序,具有很好的空间局部性。在内存中以大步长跳来跳去的程序,空间局部性会很差。 对于取指令来说,循环有好的时间和空间局部性。循环体越小,循环迭代次数越多,局部性越好。
  参考资料:《深入理解计算机系统》

网络信息安全重中之重现今的时代,互联网技术的发展千变万化,在给社会发展带来众多快捷便利的同时,也带来了许多隐藏的威胁,其中最大的威胁之一就是网络信息安全问题。为了能有一个和谐干净的网络环境,处理网络信小米12价格被吐槽,隔壁魅族手机却位列,高端旗舰第一2021年底发布了小米12系列,这次的两个小屏手机受到了非常多人的关注,我们都知道,小屏手机会在重量和手感上做的非常不错。现在市面上的机型不管是千元机还是旗舰机,都是越做屏幕越大,华为Mate50Pro概念机真全屏圆形副屏,感觉小米12Pro落后太多雷军最近在发布会上表示,未来将挑战苹果。其实自从华为被打压后,小米就成为国产第一大手机厂商,但始终与苹果还是有一定的距离。而当年华为就是扛起对标苹果的大旗,无论是功能还是外观设计,拥有独特质感OPPOReno7Pro亮相,Reno6价崩惨遭疯抢,网友欢呼以高颜值和影像实力著称的OPPOReno7Pro这款优秀旗舰新机拥有独特质感之外,以高颜值和影像实力著称的OPPOReno7Pro这款优秀旗舰新机后壳细密光栅线条,以高颜值和影像实拐点来了?乘联会2022年新能源补贴政策是巨大利好补贴规模上限没有锁定进入2022以来,A股市场整体表现不尽如人意,指数连连下跌,市场赚钱效应较差。而下跌动力则主要来着新能源车CXO医药以及芯片等板块。这其中又以新能源车表现最为极端。板块旗手宁德时代主播与公司停止合作,与公司合开的淘宝店还能否保住?案件事实被告小刘拥有实名注册并开通达人功能的淘宝账户。2017年原告杭州优娃公司与被告小刘签订主播合同书,聘请小刘为自己频道的签约主播,约定双方共同经营店铺旺旺号XXX224,甲方政府单位招标信息在什么网站公示?中国政府采购网是财政部唯一指定的政府采购信息发布媒体,是最权威最官方的平台,都是与政府出资有关的项目,因此关于政府单位的招标信息可以去这个平台上查找每个省市也有自己的政府采购网站,外星人AlienwareX15R1游戏笔记本性能与仪式感拉满的游戏利器Alienware,可能是PC领域为数不多的能称得上信仰的电竞品牌。作为曾经的游戏本霸主,想要维系这份信仰必然得依靠出色的产品力。外星人笔记本在前年发布了旗舰级Area51m游戏本一加新任命了中国区总裁李杰,要走向更大的市场?1月10日,一加创始人刘作虎通过微博宣布,李杰将担任一加中国区总裁,全面负责中国区业务,自己将更专注于产品研发。据刘作虎介绍,李杰2010年加入OPPO,工作的11年间,期间成功打华为还有二手准备,EMUI12开始推送,与鸿蒙并驾齐驱文Dong审核子扬校正知秋对于现如今的华为而言,虽然受到众所周知的因素影响,导致手机业务一落千丈。但是在手机系统方面,华为却走在了国产智能手机厂商的前列。2021年6月2日,华为正谍照晚报小米12Ultra试产机已经定版,三星或推迟Exynos2200小米12超大杯要来了?消息称小米12Ultra试产机设计已经定版微博博主数码闲聊站表示l1那个方圆镜头设计看试产机已经定版不会变了,应该已经适应得差不多了吧。这里的l1就是指小米1
在AI和ML领域,Python是不是地表最强?人工智能(AI)和机器学习(ML)是IT行业的新秀。在对其开发安全性的讨论不断升级的同时,开发人员也在扩展人工智能的能力和容量。人工智能被广泛用于处理和分析大量数据,有助于处理由于AI开发者指南丨如何正确理解神经网络和深度学习?神经网络定义神经网络是一组算法,可以模仿人脑,旨在识别其模式。它们通过一种机器感知标记或聚类原始输入来解释感官数据。他们识别的模式是包含在向量中的数字,无论是图像声音文本还是时间序科普20位的国标编码,分别都代表什么?经常遇到网友问GB28181中国标编码的含义,今天为大家统一做一个整理。目前TSINGSEE青犀视频团队开发的EasyGBS和EasyCVR已经实现完全对接GB28181协议的设备2021行业白皮书AI将彻底改变视频监控市场格局视频监控新增长点出现,行业竞争更加激烈随着国家大力建设雪亮工程平安城市布局新基建战略,以视频监控网络为基础的智能安防平台,为视频图像分析技术计算机视觉自然语言处理等人工智能技术提供国外AI工程师讲述深度学习与目标检测,理论和实践果然两码事背景故事2018年,当时我在工厂实习,我开始研究目标检测技术,因为我需要解决视觉检测问题。这个问题需要在来自工业相机的图像流中检测许多不同的物体目标。为了应对这一挑战,我首先尝试将程序员10个入门级的机器学习开源项目要开始为开源项目做贡献,有一些先决条件1。学习一门编程语言由于在开源贡献中你需要编写代码才能参与开发,你需要学习任意一门编程语言。根据项目的需要,在后期学习另一种语言很容易。2。熟AI视频分析技术是如何工作的?原理是什么?什么是实时AI视频分析技术?实时AI视频分析是一种基于人工智能的技术,可分析视频流以检测特定行为和事件的展开。这种类型的系统通过人工智能机器学习引擎检查来自监控摄像头的视频流来进行一文看懂人工智能的专业术语,你知道几个?人工智能(AI)机器学习(ML)深度学习(DL)神经网络(CNN)这些术语通常可以互换使用,但有它们之间都有什么区别?如何区分它们?AI技术正越来越深入我们的日常生活,为了跟上消费如何提取MV中的音频添加到直播中做BGM?EasyNVR已经支持自定义上传音频文件,可以做慢直播场景使用,前两天有一个开发者提出一个问题想把一个MV中的音频拿出来放到EasyNVR中去做慢直播。当时想法很简单,直接到网上去AI智能视觉检测技术是如何实现的?在现实生活中有哪些应用?制造业中的AI智能是一个时髦的术语。在描述基于人工智能的缺陷检测解决方案时,通常是关于某种基于深度学习和计算机视觉的视觉检测技术。什么是视觉检测中的深度学习?深度学习是机器学习技术科技养老,如何让社区养老更有温度?我国人口老龄化呈现出老年人口规模大老龄化进程快城乡老龄化水平差异明显老年人快速增长的特点。十四五规划和2035年愿景框架提出,应构建社区卫生保健与医疗保健协调的老年社区服务体系,以