V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  aliwalker  ›  全部回复第 1 页 / 共 1 页
回复总数  13
zk 只能保证 client 的 FIFO order,一个 client 发的所有请求会按照顺序执行,但并不是强一致性的,而是保证最终一致性。你说的这个情况是 zk 的读操作会读到 stale 值,需要通过 sync(path)一下才能保证最新值。
2019-12-27 11:02:09 +08:00
回复了 mediapig89 创建的主题 酷工作 新加坡 shopee 求简历
校招三面被刷了,太疲劳了,聊得很尬
2019-11-20 15:49:45 +08:00
回复了 doble0mercer 创建的主题 酷工作 [上海] 被鸽 招 2020 毕业的"运维开发"和"应用运维"各一枚
@doble0mercer Interpreter/VM, compiler,实习的时候捣鼓过一些杂七杂八的前端 build tool。湖南大学。
2019-11-20 15:26:48 +08:00
回复了 doble0mercer 创建的主题 酷工作 [上海] 被鸽 招 2020 毕业的"运维开发"和"应用运维"各一枚
没有运维经验的接受吗?
@xihua2018 应届生可以试试吗?
2019-11-19 22:06:40 +08:00
回复了 luokenini 创建的主题 酷工作 字节跳动内核/虚拟化实习生 JD
学校在长沙,接受远程吗?
@joouis 好的,我稍后邮件联系您!
Hi, @joouis
请问现在还可以走校招吗,有点太晚了
2019-10-13 11:21:56 +08:00
回复了 Nuullll 创建的主题 职场话题 应届硕士 offer 求比较: intel 编译器 / 地平线编译器
@Nuullll 本科想去 Intel ICL,想了解一下,可以加微信讨论一下吗?
weChat: eGF4bHhpeGV4bg==
2019-10-09 15:18:24 +08:00
回复了 zacharyjia 创建的主题 问与答 有没有这样一种编程语言
Dlang.
@ipwx yep. Return value optimization. 是 copy elision 的一种
补充一下,从第二段反汇编出来的内容可以看到为什么不是 const 引用不行:

_main:
100000f90: 55 pushq %rbp
100000f91: 48 89 e5 movq %rsp, %rbp
100000f94: 48 83 ec 10 subq $16, %rsp
100000f98: e8 e3 ff ff ff callq -29 <__Z2rev>
100000f9d: 31 c9 xorl %ecx, %ecx
100000f9f: 89 45 f4 movl %eax, -12(%rbp)
100000fa2: 48 8d 55 f4 leaq -12(%rbp), %rdx
100000fa6: 48 89 55 f8 movq %rdx, -8(%rbp)
100000faa: 89 c8 movl %ecx, %eax
100000fac: 48 83 c4 10 addq $16, %rsp
100000fb0: 5d popq %rbp
100000fb1: c3 retq

返回的 int 是 4bytes,写在-12(%rbp)上,但是指针 b 的位置-8(%rbp)其实和这个返回的 temp 值重合。
我用 clang 编译了一下第一段,发现没有写把 add 返回值写两次内存的操作...

100000f5a: 48 8d 7d f8 leaq -8(%rbp), %rdi # &one
100000f5e: 48 8d 75 f0 leaq -16(%rbp), %rsi # &two
100000f62: e8 a9 ff ff ff callq -87 <__Z3addRK4saleS1_> # call add
100000f67: 31 c9 xorl %ecx, %ecx # 清零
100000f69: 89 45 e0 movl %eax, -32(%rbp) # 返回值存到临时变量
100000f6c: 48 8d 75 e0 leaq -32(%rbp), %rsi # 指针
100000f70: 48 89 75 e8 movq %rsi, -24(%rbp) # 指针值存到 global
100000f74: 89 c8 movl %ecx, %eax # 返回值为 0
100000f76: 48 83 c4 20 addq $32, %rsp
100000f7a: 5d popq %rbp
100000f7b: c3 retq

用 const 引用返回值是可以的,这个临时变量在 call site 的 frame 上是有分配空间的。如果改成 sale &global = add(one, two);就不行了:initial value of reference to non-const must be an lvalue。

第二段结果是一样的,只是生成的是 x64 机器码。
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1096 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 23ms · UTC 19:23 · PVG 03:23 · LAX 11:23 · JFK 14:23
Developed with CodeLauncher
♥ Do have faith in what you're doing.