TAG:内存

2020-6-29 22:21
C++17中的多态分配器的概念是对标准库中的标准分配器的增强。 它比常规的分配器更容易使用,并且允许容器具有相同的类型,而拥有不同的分配器,甚至可以在运行时更改分配器。 让我们看看如何使用它和Hack来查看std::Vector容器的增长情况。 简而言之,多态分配器符合标准库中分配器的规则。不过,在其核心部分,它使用......
2020-6-29 14:58
表情符号选择器无处不在。似乎每个社交媒体和即时通讯应用都需要有一个可以点击的卡通面孔的小网格。 表情符号本身没有什么问题(它们很有趣!)。它们很受欢迎!他们让交流变得更加生动活泼!)。但目前在网络上使用它们的方式是浪费的。 主要的问题是有很多表情符号:最新版本是1814,Emoji v.13.0。这甚至不包括肤色变体......
2020-6-27 16:4
随着苹果公司最近宣布,他们将在未来的笔记本电脑和台式机上从Intel X86 CPU转向他们自己的ARM CPU,我认为现在是一个很好的时机来看看可能会影响在Rust工作的系统程序员的一些差异。 ARM CPU与X86不同的一个关键方面是它们的内存模型。本文将介绍什么是内存模型,以及它如何在一个CPU上导致代码正确,......
2020-6-22 13:52
您创建和访问数据的方式可能会影响应用程序的性能。让我们看看怎么做。 JavaScript是一种非常高级的语言。因此,大多数开发人员不倾向于过多地考虑数据是如何存储在内存中的。在本文中,我们将讨论数据是如何存储在内存中的,它如何影响CPU和内存,以及您在JS中分发和访问数据的方式如何影响性能。 当计算机需要进行一些计算......
2020-6-20 2:21
本网站可能会从本页的链接中赚取代销商佣金。使用条款。 谷歌的Chrome浏览器无疑是最受欢迎的浏览网页的方式,当你考虑到它糟糕的内存管理时,这是令人惊讶的。在Windows中,Chrome吞噬数GB内存的情况并不少见,这会使内存有限的设备很难使用。不过,地平线上可能会有希望。Windows10中的一项新功能可能会让谷......
2020-6-19 22:28
威廉·J·达利,雅蒂什·图拉基亚,宋涵通信的ACM,2020年7月,第63卷第7期,第48-57页10.1145/3361682评论从洗衣机中的简单嵌入式处理器到数据中心服务器中的强大处理器,今天的大多数计算都是在通用可编程处理器或CPU上进行的。CPU之所以有吸引力,是因为它们易于编程,而且它们有大量的代码库。CP......
2020-6-19 7:58
随着微软在Windows10中引入了一项新功能,可以显著减少Chrome的内存使用量,谷歌Chrome RAM的狂热情绪可能很快就会成为过去。根据Windows最新的一份报告,Windows 10 2020年5月10日的更新(20H1)已经开始向全球用户推出,它引入了Windows段堆内存改进,将减少谷歌Chrome......
2020-6-18 13:49
我已经考虑好的散列函数很长时间了,所以将两次乘法和二进制轮换结合起来得到一个输出非常均匀的散列函数并不难。这类似于Malte Skarupke最终所做的,从黄金比例的单次乘法开始,也就是斐波纳契散列,然后用位移位合成它。伽罗瓦域乘法也是一个很好的积木,但我的笔记本电脑有点旧,因此很难进行无进位乘法。 最近我想计算大量......
2020-6-17 23:38
当然,计算机科学中只有两件棘手的事情:缓存失效、命名和逐个错误。但是,在计算机科学的杂草丛生中,潜藏着另一个难题:把事情看得井井有条。无论是排序、不排序,还是发推文,看事情是否井然有序,都是一个世代的挑战。 一个常见的排序挑战是内存一致性,这是定义并行线程如何观察其共享内存状态的问题。关于内存一致性的资源很多,但大多......
How x86_64 Addresses Memory(blog.yossarian.net)
2020-6-14 4:59
今天,我将编写x86_64指令语义的一个小片段(但仍然非常复杂):内存寻址。 具体地说,我将写出x86_64允许用户仅通过一条指令来寻址内存的不同方式:mov。 我不会尝试讨论其他可以触及内存的指令(多亏了CISC,这几乎是所有的指令),那些写大量内存的指令(看看你,fxsave),或者任何相邻的主题(代码模型、独立......
2020-6-9 18:33
Pycopy的目标是开发和维护Python(兼容)语言的最低限度、轻量级和可扩展的实现。Pycopy to CPython类似于Schemeto Common Lisp。Pycopy在云、桌面系统和小型嵌入式系统上都能很好地工作,并且可以一直扩展到微控制器。该项目由Paul Sokolovsky开发和维护,最初基于由......
2020-6-8 23:45
拥有交换空间是运行良好的系统的一个相当重要的部分,没有它,正常的内存管理将更难实现。 交换通常不是为了获得紧急内存,而是让内存回收变得平等和高效。事实上,使用它作为紧急记忆通常是有害的。 禁用交换并不能防止磁盘I/O在内存争用下成为问题,它只是将磁盘I/O的颠簸从匿名页面转移到文件页面。这不仅会降低效率,因为我们可供......
2020-6-6 3:5
2018年11月28日:我在结尾处添加了一个小更新,介绍如何使用每个插槽生成计数器防止“处理冲突” …。其中我稍微谈了一下最近我是如何在C和C++中进行动态内存管理的,它基本上是用“索引句柄”取代了原始指针和智能指针。 在我上一篇博客文章中,我提到了免指针和免分配编程,但是跳过了细节。这就是下面这篇博文的主题。 这一......
2020-6-2 4:57
苹果因其RAM定价而备受抨击,该公司的最新举措可能只会让批评升级。新款13英寸MacBook Pro的最底层配备8 GB内存,但可以升级到16 GB。这个选项过去的价格是100美元,对于大多数人来说,这是一件轻而易举的事情。但正如MacRumors在周末发现的那样,价格已经翻了一番,达到200美元。虽然苹果确实会不时......
2020-5-30 13:55
对于你们当中的单板计算(SBC)爱好者来说,这里有一条令人振奋的消息:Raspberry Pi4现在有8 GB的内存。 是的,8 GB。这是到目前为止可用的最大内存的两倍。 树莓派4在不到一年前发布,引用我们当时的标题,它是一款SBC的野兽。现在,它的内存翻了一番,可以发挥刚刚大幅增加的潜在可能性和能力。 8 GB内......
2020-5-28 20:10
Raspberry PI 4 Model B于2019年6月推出,配备Broadcom BCM2711 ARM Cortex-A72处理器以及1 GB、2 GB或4 GB LPDDR4 RAM。 但也有人预计,8 GB内存或8 GB eMMC闪存的Raspberry PI 4最终可能会推出,因为一些用户指南上写着“产......
2020-5-28 19:39
在编程语言领域,没有太多非常有力的实证结果。这很可能是因为有大量的变量需要控制,而研究人员可以获得的大多数研究对象都是CS本科生。然而,我最近发现了一个在众多代码库中重复的结果,据我所知,这使其成为该领域最可靠的发现之一: 如果您有一个非常大(数百万行代码)的代码库,并且是用内存不安全的编程语言(如C或C++)编写的......
2020-5-24 12:26
Chromium项目发现,大约70%的严重安全漏洞是内存安全问题。我们的下一个重大项目是从源头上防止此类错误。 大约70%的严重安全错误是内存不安全问题(即C/C++指针错误)。其中一半是免费后使用的漏洞。 (基于自2015年以来影响稳定渠道的912个高或严重严重安全漏洞进行分析。)。 这些错误均匀地分布在我们的代码......
2020-5-24 4:59
谷歌工程师本周表示,Chrome代码库中约70%的严重安全漏洞是内存管理和安全漏洞。 70%的漏洞中有一半是释放后使用漏洞,这类安全问题源于对内存指针(地址)的错误管理,为攻击者攻击Chrome的内部组件敞开了大门。 这一百分比是在谷歌工程师分析了自2015年以来在Chrome稳定分支中修复的912个安全漏洞后得出的......
2020-5-22 5:27
多年来,GNU C库(Glibc)中一直隐藏着一个已知的安全漏洞。该库对Linux和许多其他操作系统和程序至关重要,它有一个动态内存管理安全漏洞,可用于拒绝服务(DoS)攻击。现在,安全公司Check Point发布了一个开源补丁,这将使利用此内存分配(Malloc)问题变得更加困难。 Check Point再次遇到......
2020-5-21 8:26
#只需要第一次:$make build#然后运行以启动服务器$。/server-cache--help用法。/server-cache:-addr要在其上运行服务器的字符串地址(默认值";:5001";)-cln int清理过期缓存的间隔时间为5分钟(默认值5)-exp int缓存的默认过期时间为10分钟......
C64 Memory Map(www.pagetable.com)
2020-5-16 23:48
准将64的系统软件已经进行了广泛的逆向工程。除了ROM的反汇编之外,还发布了几个“内存映射”:在RAM的第一个千字节中记录系统变量的表,以及如何使用peek和poke调整系统软件。现在,我将介绍终极C64内存映射:并排显示八个源的C64内存参考。 来自MIT Wandervorschlägen记忆地图的德语参考,H.......
2020-5-16 6:53
ZipFly是一个基于zipfile.py.的zip归档生成器,它是由buzon.io创建的,用于生成非常大的ZIP归档,以便立即发送给客户端,或者用于写入大型ZIP归档,而不会导致内存膨胀。 基本用例是动态压缩。一些数据将通过zipfile减速装置进行缓冲,但内存膨胀将受到非常严格的限制。数据将以相当规律的间隔写入......
2020-5-15 1:38
多亏了Chrome和Emscripten最近的工作,你现在可以在WebAssembly应用程序中使用高达4 GB的内存。这比之前2 GB的限制要高。这看起来可能有点奇怪--毕竟,让人们使用512MB或1 GB内存不需要任何工作!--但事实证明,在从2 GB到4 GB的跃升过程中,浏览器和工具链中都发生了一些特殊的事情......
2020-5-14 23:48
教书育人对我来说一直是一项挑战。我倾向于跳过我错误地认为显而易见的事情,或者在解释问题的解决方案时在推理上有很大的飞跃。因此,当我试图解释一个完整的视角时,我倾向于漫无边际地闲聊,希望观众知道如果我讲得太快,什么时候应该打断我。然而,这并不适用于博客帖子,比如我目前正在写的那篇。这就是为什么我有一个要求,读者,请一定......
2020-5-14 21:12
采用NVIDIA Ampere GA100 GPU的特斯拉A100:全球最大的7 nm GPU、540亿个晶体管、1petaflops计算和放大器,最高可配96 GB HBM2内存。 NVIDIA发布了GA100图形处理器,这是他们的第一款,也是世界上最大的基于其下一代安培图形处理器架构的7 nm芯片。安培的性能是其......
2020-5-8 21:3
Micro-Mitten是一种类似于铁锈的基本编程语言,经过简化以简化控制流结构和类型系统。 与Rust一样,Micro-mitten提供了一种静态的内存管理方法;然而,Micro-mitten的方法与Rust有很大的不同。它不依赖于单一所有权和复杂的生命周期系统,而是使用一系列数据流分析来静态地近似堆活跃度。这意味......
An introduction to virtual memory(www.internalpointers.com)
2020-5-7 19:55
计算机是复杂的机器,旨在执行一项简单的任务:运行程序-浏览器、文本编辑器、网络服务器、视频游戏等-操作数据-照片、音乐、文本文件、数据库等。 在不使用时,这样的程序和数据会和平地存在于硬盘驱动器中,即使您的计算机已关闭,硬盘驱动器也负责使信息保持活动状态。运行应用程序意味着询问处理器(也称为。中央处理单元或CPU)来......
2020-5-4 3:44
2x1000 MP/秒4x 4K@60(HEVC)8x 4K@30(HEVC)16x 1080P@60(HEVC)32x 1080P@30(HEVC)。 2x690 MP/秒2x 4K@60(HEVC)4x 4K@30(HEVC)12x 1080p@60(HEVC)24x 1080p@30(HEVC)16x 1080......
2020-5-2 18:6
Joy是一个用Janet编写的web框架,适用于喜欢Clojure语法、快速启动时间和非常低内存使用量的人。 (导入JOY)(Defn HOME[请求])(JOY/Render:Text";You Found Joy!";))(def routes[[:Get";/";HOME]])(def ......