Skip to content

Commit 8b23563

Browse files
Add a tailcall result
1 parent 51cb79a commit 8b23563

1 file changed

Lines changed: 14 additions & 2 deletions

File tree

posts/jit-reflections.md

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,8 +118,20 @@ spectral_norm: Mean +- std dev: 90.6 ms +- 0.7 ms
118118
richards: Mean +- std dev: 37.8 ms +- 2.4 ms
119119
nbody: Mean +- std dev: 104 ms +- 2 ms
120120
spectral_norm: Mean +- std dev: 96.0 ms +- 0.7 ms
121-
````
122-
System/Build configuration: Ubuntu 22.04, Clang 20.1.7, PGO=true, LTO=thin. Tuned with `pyperf system tune`.
121+
```
122+
System/Build configuration: Ubuntu 22.04, Clang 20.1.7, PGO=true, LTO=thin, tailcall=false. Tuned with `pyperf system tune`.
123+
124+
Note that when I turn on tailcalling for the interpreter, these types of artificial benchmarks get slightly faster. So with tail calling, almost all the benefit of the JIT is wiped out (for now).
125+
126+
```
127+
3.14 JIT Off + Tailcall:
128+
spectral_norm: Mean +- std dev: 90.8 ms +- 1.1 ms
129+
130+
3.14 JIT On:
131+
spectral_norm: Mean +- std dev: 89.0 ms +- 0.6 ms
132+
```
133+
System/Build configuration: Ubuntu 22.04, Clang 20.1.7, PGO=true, LTO=thin, tailcall=true. Tuned with `pyperf system tune`.
134+
123135

124136
You might ask: why is the 3.14 JIT not much faster? The real answer, which
125137
again hurts me to say is that the 3.14 JIT has almost no major _optimizer_*

0 commit comments

Comments
 (0)