aeon113

aeon113

V2EX 第 466052 号会员,加入于 2020-01-20 14:36:25 +08:00
aeon113 最近回复了
196 天前
回复了 jzphx 创建的主题 全球工单系统 建行 app 登录新手机无解了
建行 app 登陆还得用你自己的手机给他们发信息,着实脑残。
227 天前
回复了 mokiki 创建的主题 SSD SSD FTL 映射粒度是刚好一个 page 吗?
一般不会。写 512B(1 sector)数据,固件会将整个 4k 数据读到内存,修改其中目标 512B 的数据,然后把 4K 写下去。
2021-04-13 10:33:18 +08:00
回复了 freed 创建的主题 硬件 终于触摸到了 E3 1230 的性能瓶颈..
e3 1231v3
看 4k 视频会卡,用 win10 商店里的网飞 app 看 1080p 也会卡
LWN 吧。如果基础不牢的话就先看看 LKD 这本书。
贴一下你的代码和编译选项吧

malloc 执行过程中是有可能会进入到内核态的,并且,我记得在 Linux 中,给用户进程分配出的虚拟地址事实上并没有对应物理内存,物理地址会在目标 page 第一次被访问时分配。这个可能会造成进程在写入大数组时又多次陷入内核态。
可以尝试 malloc 一次,然后多写几次,丢掉第一次写入的测试数据,用剩下的写入延迟算出一个平均值做结果。

另外,这里栈上的写入过程相当于对同一段栈内存写入了 10000 次。如果不是用 memset 来写的话,那有可能前 9999 次全部被优化掉了只剩下了最后一次。这个得看编译器的生成结果才能确定。

数组大小不同,占用的 CPU cache line 数量也不同。一块 CPU 不是只有一个进程在使用,每个进程对内存的每次读写都可能造成某个 cache line 内的原数据被刷出,新数据被读入。那么数据 size 越大,占用的 cache line 越多,其内部分数据被刷出的概率也就越高,相对性能也就会更差一些。

最后,如果机器内存不大的话,访问堆内存时也可能会因为 swap 和刷 dirty page 损失不少性能。
2021-02-07 10:46:14 +08:00
回复了 jonathon523 创建的主题 问与答 CentOS7 编译 Linux 内核报错
装个版本高点的 scl-devtoolset
2021-01-28 00:28:44 +08:00
回复了 coolair 创建的主题 问与答 有朋友知道为啥我的 firefox 为啥打开网页速度奇慢无比吗?
感觉 firefox 在 macOS 和 Linux 里启动都很慢,点下去要 5, 6 秒才打得开
2021-01-01 11:00:35 +08:00
回复了 victoryss 创建的主题 Linux 不懂就问,啥叫“夯主”??
hang 住
2020-12-24 13:37:31 +08:00
回复了 eason1874 创建的主题 全球工单系统 美团为了骗用户的信息,绑定银行卡,吃相真难看
说实话 美团吃相比阿里更难看
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3223 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 53ms · UTC 05:13 · PVG 13:13 · LAX 22:13 · JFK 01:13
Developed with CodeLauncher
♥ Do have faith in what you're doing.