Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
如何避免动态图中的“堆指针意大利面条”?
一般问题 假设您正在编写一个由图组成的系统 以及可以根据相邻节点的配置激活的图重写规则 也就是说 您有一个在运行时不可预测地增长 收缩的动态图 如果你天真地使用malloc 新节点将被分配在内存中的随机位置 经过足够的时间 你的堆将变成一个
c
Algorithm
datastructures
Graph
cpucache
链表、数组和硬件内存缓存
虽然之前有人问过关于链表与数组的问题 但答案大多归结为我们大多数人在某些时候可能已经学到的东西 列表擅长插入和删除 数组擅长随机访问 现在 像 Bjarne Stroustrup 这样受人尊敬的人已经argued https www you
Arrays
performance
LinkedList
languageagnostic
cpucache
现代缓存中的方式预测
我们知道 就缓存命中时间而言 直接映射缓存优于集合关联缓存 因为不涉及特定标签的搜索 另一方面 组关联缓存通常比直接映射缓存具有更好的命中率 我读到 现代处理器试图通过使用一种称为路径预测的技术来结合两者的优点 他们预测给定集合中最有可能发
caching
cpuarchitecture
processor
cpucache
microarchitecture
CPU缓存性能。存储未命中与加载未命中
我使用 perf 作为基本事件计数器 我正在开发一个遭受数据缓存存储未命中的程序 其中比例高达80 我知道缓存原则上是如何工作的 它会在各种未命中情况下从内存加载 并在需要时从缓存中删除数据 我不明白的是 存储未命中和加载未命中之间有什么区
performance
caching
cpucache
perf
CPU寄存器和CPU缓存有什么不同吗? [关闭]
Closed 这个问题是无关 help closed questions 目前不接受答案 CPU寄存器和CPU缓存有什么不同吗 是的 CPU寄存器只是少量的数据存储 方便CPU的一些操作 CPU缓存 它是一种高速易失性存储器 尺寸较大 有助
cpuregisters
cpucache
计算 Amd Zen 2 处理器上的 L3 缓存访问事件
我试图找出与 perf stat 命令一起使用的事件来计算 AMD Zen 2 处理器上的 L3 缓存访问次数 根据 PPR http developer amd com wordpress media 2017 11 54945 PPR
Linux
x86
cpucache
perf
amdprocessor
查看x86架构中的cpu缓存内容
如何查看或转储基于 x86 的架构的 cpu 缓存内容 每次进行缓存刷新时 我如何才能看到刷新了什么 在哪里 你不能 真的 CPU 缓存被设计为对于 CPU 上运行的代码是透明的 它具有加快代码执行速度的效果 但 CPU 管理有关缓存的所有
caching
x86
CPU
cpuarchitecture
cpucache
超低延迟硬实时多线程 x86 代码的意外周期性行为
我正在具有 RT 优先级的专用 CPU 上循环运行代码以进行多次迭代 并希望长时间观察其行为 我发现代码有一个非常奇怪的周期性行为 简而言之 这就是代码的作用 Arraythread while 1 if flag Multiply mat
Linux
Multithreading
profiling
embeddedlinux
cpucache
可以直接使用程序集访问缓存吗?
就效率而言 缓存是一个核心问题 我知道缓存通常会自动发生 但是 我想自己控制缓存的使用 因为我认为我可以比一些不知道确切程序的启发式方法做得更好 因此 我需要汇编指令来直接移入或移出高速缓存单元 like movL1 address con
performance
Assembly
caching
cpuarchitecture
cpucache
Skylake 中干净缓存行的写回?
我观察到 Skylake SP 在真实硬件上对干净的缓存行进行写回 Leeor 对这篇文章的回答对于 Intel Core i3 i7 数据从缓存集中逐出后的去向 https stackoverflow com questions 1941
x86
intel
cpuarchitecture
cpucache
现代 x86 CPU 使用什么缓存一致性解决方案?
我对缓存一致性系统在现代多核 CPU 中的功能有些困惑 我已经看到基于侦听的协议 例如基于 MESIF MOESI 侦听的协议 已在 Intel 和 AMD 处理器中使用 另一方面 基于目录的协议对于多核来说似乎更加高效 因为它们不广播而是
x86
computerscience
cpuarchitecture
cpucache
MESI
在Linux中测量C程序缓存命中/未命中和CPU时间的最简单工具?
我正在用 C 编写一个小程序 我想测量它的性能 我想看看它在处理器中运行了多少时间以及它进行了多少次缓存命中 未命中 有关上下文切换和内存使用情况的信息也很好 该程序的执行时间不到一秒钟 我喜欢 proc pid stat 的信息 但我不知
performance
cpucache
measurement
contextswitch
memcachestats
计算三级缓存的实际/有效CPI
a 给定一个具有两级高速缓存 L1 和 L2 的内存系统 以下是规格 L1缓存命中时间 2个时钟周期 一级缓存命中率 92 L2 缓存的未命中惩罚 L2 的命中时间 8 个时钟周期 二级缓存命中率 86 主存丢失惩罚 37 个时钟周期 暂时
caching
cpuarchitecture
cpucache
在 Linux 上以编程方式获取准确的 CPU 缓存层次结构信息
我试图获得 Linux 上当前 CPU 的数据缓存层次结构的准确描述 不仅是各个 L1 L2 L3 可能还有 L4 数据缓存的大小 还包括它们在不同系统之间分割或共享的方式核心 例如 在我的 CPU AMD Ryzen Threadripp
c
Linux
cpuarchitecture
cpucache
为什么指令高速缓存对齐可以提高组相联高速缓存实现的性能?
我有一个关于指令缓存对齐的问题 我听说 对于微优化 对齐循环使其适合缓存行可以稍微提高性能 我不明白为什么那会有什么作用 我了解缓存命中的概念及其对计算速度的重要性 但似乎在组关联缓存中 相邻的代码块不会映射到同一个缓存组 因此 如果循环跨
cpuarchitecture
memoryalignment
cpucache
microoptimization
写组合缓冲区位于哪里? x86
Write Combine 缓冲区在物理上是如何连接的 我见过说明许多变体的框图 L1 和内存控制器之间 CPU 的存储缓冲区和内存控制器之间 CPU 的 AGU 和 或存储单元之间 它依赖于微架构吗 写缓冲区在不同的处理器中可以有不同的目
x86
intel
cpuarchitecture
cpucache
amdprocessor
包容还是排他? Intel Core IvyBridge 处理器中的 L1、L2 缓存
我有 Intel Core IvyBridge 处理器 Intel R Core TM i7 3770 CPU 3 40GHz L1 32KB L2 256KB L3 8MB 我知道L3是包容性的 是多核共享的 我想了解有关我的系统的以下信
c
cpuarchitecture
processor
cpucache
文件支持的内存映射的 CPU 缓存行为/策略?
有谁知道哪种类型的CPU缓存行为或策略 例如不可缓存的写组合 被分配给内存映射文件支持现代 x86 系统上的区域 有什么方法可以检测是哪种情况 并可能覆盖默认行为吗 Windows 和 Linux 是人们感兴趣的主要操作系统 编者注 这个问
c
x86
operatingsystem
cpuarchitecture
cpucache
intel core i7 处理器使用哪种缓存映射技术?
我了解了不同的缓存映射技术 例如直接映射和完全关联或集关联映射 以及这些技术之间的权衡 维基百科 https en wikipedia org wiki Cache placement policies 但我很好奇现在Intel core
x86
intel
cpuarchitecture
cpucache
amdprocessor
优化 Java 对象以提高 CPU 缓存线效率
我正在写一个库 其中 它将需要运行在广泛的不同平台 Java 实现 常见情况可能是运行 Windows 或 Linux 的 Intel 64 位计算机上的 OpenJDK 或 Oracle Java 实现高性能是首要任务 就我关心对象访问中
Java
performance
Optimization
cpucache
1
2
3
4
»