Skip to content

Commit 075ba54

Browse files
committed
fix image URLs
1 parent 14ece45 commit 075ba54

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

posts/2025/02/pydrofoil-optimizations.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,7 @@ flow graphs from them. The control flow graphs consist of basic blocks and
280280
(conditional) jumps between them. Here's a screenshot of the constructed CFG of
281281
the `execute` clause of `ITYPE` instructions:
282282
283-
![itype flow graph](images/2025-pydrofoil-itype-before.svg)
283+
![itype flow graph](/images/2025-pydrofoil-itype-before.svg)
284284
285285
# Static Pydrofoil IR Optimizations
286286
@@ -427,7 +427,7 @@ removes all allocations in this code sequence completely.
427427
After inlining and bitvector/integer operation optimization the control flow
428428
graph of the `execute` clause for `ITYPE` instructions looks like this:
429429

430-
![itype flow graph after optimizations](images/2025-pydrofoil-itype-after.svg)
430+
![itype flow graph after optimizations](/images/2025-pydrofoil-itype-after.svg)
431431

432432

433433
# Function Specialization
@@ -669,7 +669,7 @@ them during host machine code generation.
669669
Here's a state diagram of the various states and transitions a machine word can
670670
be in:
671671

672-
![memory state transitions](images/2025-pydrofoil-mem-states.svg)
672+
![memory state transitions](/images/2025-pydrofoil-mem-states.svg)
673673

674674
The result of this approach is that instruction fetch can mostly be
675675
constant-folded to no machine code instructions at all: the program counter is
@@ -778,7 +778,7 @@ completely impractical to run any interesting benchmark to completion with them.
778778

779779
The results look like this:
780780

781-
![ablations](images/2025-pydrofoil-ablations.svg)
781+
![ablations](/images/2025-pydrofoil-ablations.svg)
782782

783783
We can see that the JIT is the most important component for getting Pydrofoil's
784784
performance, it provides (together with memory immutability tracking) a 15x
@@ -797,7 +797,7 @@ latter two were fairly slow again, so I didn't run them to completion and
797797
instead extrapolated their instructions/second numbers, the results should
798798
therefore be taken with a grain of salt. In any case, here are the results:
799799

800-
![comparison qemu](images/2025-pydrofoil-qemu.svg)
800+
![comparison qemu](/images/2025-pydrofoil-qemu.svg)
801801

802802
Qemu is 14x faster than Pydrofoil, Sail is more than 200x slower than Pydrofoil,
803803
Spike is more than 3x slower than Pydrofoil.

0 commit comments

Comments
 (0)