From 4f69d0d9a222280d9695531b0eba1257aec331d0 Mon Sep 17 00:00:00 2001 From: Daniel Scherzer Date: Fri, 12 Jun 2026 10:52:37 -0700 Subject: [PATCH] Fix some typos in blog post --- docs/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/index.md b/docs/index.md index 3f293f4..05bb9cd 100644 --- a/docs/index.md +++ b/docs/index.md @@ -249,7 +249,7 @@ Now the snippet for `opt-level=3`: ``` As you can see, the code is rearranged from one version to the other. This version is shorter and there is only one conditional jump -to exit the loop. The 4 conditional jumps are replaced by 4 conditional moves. That's pretty cool te be honest. +to exit the loop. The 4 conditional jumps are replaced by 4 conditional moves. That's pretty cool to be honest. But oh the irony: when the compiler successfully emit a compare function that actually produce conditional moves instead of conditional jumps, the performance plummet. @@ -259,7 +259,7 @@ jumps, the performance plummet. Modern CPUs are [very complex](https://en.wikichip.org/w/images/c/c7/haswell_block_diagram.svg) beasts and they try their best to run our code as fast as possible. They may [reorder](https://en.wikipedia.org/wiki/Out-of-order_execution) operations, introduce [instruct level parallelism](https://en.wikipedia.org/wiki/Instruction-level_parallelism) do [branch prediction](https://en.wikipedia.org/wiki/Branch_predictor) -and [speculative exeuction](https://en.wikipedia.org/wiki/Speculative_execution) to squeeze out the maximum work from each CPU cycle. +and [speculative execution](https://en.wikipedia.org/wiki/Speculative_execution) to squeeze out the maximum work from each CPU cycle. Each instruction has a latency (number of cycles to perform the instruction) and can be executed by only a selected set of [execution units](https://en.wikipedia.org/wiki/Execution_unit) routed by dedicated ports, which will eventually dictate their