V2EX dahakawang 的所有回复 第 1 页 / 共 1 页
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX    dahakawang    全部回复第 1 页 / 共 1 页
回复总数  17
2023-11-25 19:49:09 +08:00
回复了 lwjef 创建的主题 程序员 高通 CPU 浮点这么快吗。。。
7.4G 的数据量,即便不考虑内存不够的情况,也有可能是内存性能 bounded 的原因,不妨试试比较用 cache 大小的数据量进行多轮 benchmark ?
2023-11-12 19:47:53 +08:00
回复了 stardustree 创建的主题 生活 哎,早产的娃严重脑出血,要放弃治疗了...
最近刚做了爸爸,真是看不得这样的事情,楼主节哀。。
2022-06-25 12:12:16 +08:00
回复了 simbaCheng 创建的主题 问与答 如何理解《Intel#IA-32》文档中的 assert?
2022-04-09 02:14:59 +08:00
回复了 dangyuluo 创建的主题 C++ CPU 指令重排是 cache 同步太慢的表征么?
哈哈,睡太晚了发觉居然把文章名字搞混了,我上面是说《 Memory Barriers: a Hardware View for Software Hackers 》另一篇不少人推荐的教程... 但是结论不变 :-)
2022-04-09 01:54:23 +08:00
回复了 dangyuluo 创建的主题 C++ CPU 指令重排是 cache 同步太慢的表征么?
看见很多同学推荐了 A Primer on Memory Consistency and Cache Coherence 。这是个很好的教程,但是它可能不能直接用来回答 OP 的问题。因为全文是基于一个假想的 CPU 架构(或者说,至少实现上不见得是和任何一种现实的 CPU 完全一致的),一个例子是随着教程引入了 store buffer 和 invalidate queue 的概念之后,在文中所述的架构中,例子代码需要添加两个 barrier 才能确保正确(section 4.3),然而在 x86 下那两个 barrier 并不是必要的,因特尔关于他们内存模型的白皮书中有过一样的例子。。。

所以除非 OP 真的只是在讨论某一个教程中的架构,如果我们要讨论任何一个真实的架构的话,就回到我之前的观点了,对于 OP 的问题解答,我们很难去诉诸某个架构的某个 specific implementation ( store buffer 也好,invalidate queue 也罢),因为外人很难知道 CPU vendor 具体的实现是啥。唯一公开的只有前文提到的那个约定, 或者叫它某个 CPU 架构的内存一致性模型,OP 的问题可能只能诉诸于具体某个架构实现的某种一致性模型。(当然,模型反过来也某种程度上 imply 了实现)
2022-04-08 23:22:29 +08:00
回复了 dangyuluo 创建的主题 C++ CPU 指令重排是 cache 同步太慢的表征么?
这个和缓存的一致性协议(e.g. MESI)没有关系,主要是和 x86 的内存一致性模型的约定有关。

为了实现的简便,或者优化的方便,计算机领域一个非常重要的 trick 就是[as if rule]( https://en.wikipedia.org/wiki/As-if_rule)。编译器和硬件可以不按照实际的程序 /指令执行,只要最终不会产生**软件可以观察到**的差异就行了。

具体来看,如果我们更多的在聊 Intel 的话,x86-TSO 的内存一致性模型主要有下面这么几个约定,而 OP 的例子正是很多人用来说明第 4 点的比较常用的例子:
1. Loads are not reordered with other loads.
2. Stores are not reordered with other stores.
3. Stores are not reordered with older loads.
4. Loads may be reordered with older stores to different locations but not with older stores to the same location.

仔细想想,这样的约定正是尽量较少软件可观察的差异体现。作为软件,我们期待写一个变量下一次读出同样的值,所以约定 Store/Load 在同一个内存地址不会有 reorder 。与此同时,写一个变量然后读取另一个变量会有 reorder ,这似乎对软件产生的麻烦就小很多。


最后,为啥非要 reorder ?那当然是硬件那边优化和实现的考虑了,CPU 一般会通过[store buffer]( https://en.wikipedia.org/wiki/Write_buffer)来批量写内存提升效率,不难想象,Store/Load reorder 的存在,不就是顺理成章的事情了嘛。当然,这里对为什么这么约定的解释,更多只是举一个例子的意思,没人真正知道这是不是 Intel 选择上述约定的动机或者唯一动机,重要的只是这个约定是啥样,和我们如何用这个约定解释程序行为。
2022-03-01 20:45:21 +08:00
回复了 zhoudaiyu 创建的主题 问与答 NAT 穿透为什么要用 UDP 协议?
2021-10-27 00:53:22 +08:00
回复了 abc8678 创建的主题 Windows 更新 win11 后, sandboxie 内打不开资源管理器了
and this is by far the most interesting thing. wit
2020-11-14 11:17:31 +08:00
回复了 isno 创建的主题 程序员 V2 的程序员们,学学法律吧
想起了之前也有类似的案例: https://www.zhihu.com/question/308203318
2020-11-06 17:48:50 +08:00
回复了 xutl 创建的主题 C 求问 gcc9 中-O1 比-O0 多了哪些优化选项?
是不是在 tmux 之类的 multiplexer 里面?
2017-09-27 19:33:31 +08:00
回复了 niceday 创建的主题 程序员 阿里云香港主机宕了吗?
2017-07-09 21:38:29 +08:00
回复了 followyourheart 创建的主题 程序员 大家有没有保护颈椎的方法?
工作组间多休息,搞个番茄工作法,定时提醒提来走动。当然要得根除得坚持锻炼,实在没空在家里跟着 app 做些基本动作也成。
2017-07-09 21:28:18 +08:00
回复了 oisc 创建的主题 全球工单系统 OneNote 本土化怎么做的这么烂
以前挺喜欢用 notenote,后来觉得封闭的格式不太好掌控,于是转向了 markdown。现在好多基于 markdown 的笔记 app,既支持图片表格公式之类的东西,也支持代码高亮,流程图什么的,还是挺方便的。

最主要是格式透明,用着比较放心,偶尔还能根据自己的需求折腾一些脚本啥的。这种核心功能和周边功能分离的模式挺适合一些人的,例如多平台同步、笔记版本控制,渲染风格之类的需求,选择余地也自由些。
2015-07-16 23:00:54 +08:00
回复了 ilotuo 创建的主题 C 函数定义在头文件中,被编译进两个.o 却能正常链接和执行?
放到头文件中定义的成员函数被include之后,在main.o和vtkOBJWriter.o中的确会有两个同名符号vtkOBJWriter::writeMtllib,但此种情况下,vtkOBJWriter::writeMtllib会被编译器置为weak symbol,所以后来linker看到两个同样的名字不会报错,只是随便选一个。

同样在头文件中被include的template实现也有类似的机制。
2015-07-13 19:06:17 +08:00
回复了 q5we66fg 创建的主题 程序员 你们身边有木有使用终端时老是输入 ls 的人。。。
-> % zsh_stats
1 1587 15.8716% cd
2 1089 10.8911% ls
3 1019 10.191% git
4 450 4.50045% vim
5 336 3.36034% rm
6 318 3.18032% man
7 161 1.61016% subl
8 154 1.54015% find
9 151 1.51015% open
10 145 1.45015% npm
11 142 1.42014% brew
12 122 1.22012% curl
13 110 1.10011% sudo


这个挺有意思,zsh本可免去cd的痛苦,结果我居然无意思的还是打了这么多。。
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5753 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 45ms UTC 02:02 PVG 10:02 LAX 18:02 JFK 21:02
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86