Viewing profile — 2102922286
2102922286
HN member- Joined
- Fri, Apr 28, 2023, 6:14 AM UTC
- HN karma
- 80
- Public activity
- 9 items
- HN profile
- View on Hacker News ↗
About 2102922286
No profile information was provided.
Recent public activity
-
comment
Comment #35748854
Here's a video made 53 years ago about how we need to tackle pollution: https://www.youtube.com/watch?v=MA45iKHjoGg A lot of it still rings true today. The sad thing is that we _kn…
-
comment
Comment #35738352
https://uops.info/uiCA.html it's really cool!!
-
comment
Comment #35738345
This is one area where Profile-Guided Optimization (PGO) can help a lot! With PGO, you run your program on some sample input and it logs info like how many times each side of a bra…
-
comment
Comment #35738262
For the given assembly from the blog post loop: lea (%rdx,%rax,4),%rcx cmp (%rcx),%esi cmovg %rcx,%rdx shr %rax jne loop Here's a simulated CPU trace on Intel skylake: https://uica…
-
comment
Comment #35738226
If what you're saying is (roughly) cmovne rax, rdx jmp rax that is, a cmov followed by an indirect jump to the address contained in rax, "jmp rax" is _always_ an indirect jump. It …
-
comment
Comment #35738144
When implementing cryptographic primitives, you want to avoid branching on secret values. The reason why is that the CPU's branch predictor will attempt to predict the value that y…
-
comment
Comment #35738115
Cmov doesn't branch. A branch refers specifically to the program counter ending up in more than one possible place after an instruction has executed. It is this behavior that mucks…
-
comment
Comment #35738100
A cool related algorithm is https://algorithmica.org/en/eytzinger In addition to being branchless, it also has better cache properties than a standard binary search tree. If you're…
-
comment
Comment #35738063
cmov (i.e. conditional move) doesn't branch. By branch here, we mean "at point at which the successor program counter value might be one of two locations." It's true that this _doe…