Skip to content

gh-146073: Add fitness/exit quality mechanism for JIT trace frontend#148089

Open
cocolato wants to merge 19 commits intopython:mainfrom
cocolato:jit-tracer-fitness
Open

gh-146073: Add fitness/exit quality mechanism for JIT trace frontend#148089
cocolato wants to merge 19 commits intopython:mainfrom
cocolato:jit-tracer-fitness

Conversation

@cocolato
Copy link
Copy Markdown
Member

@cocolato cocolato commented Apr 4, 2026

@cocolato

This comment was marked as outdated.

@cocolato
Copy link
Copy Markdown
Member Author

cocolato commented Apr 6, 2026

It appears that the current parameters do not yet guarantee runtime safety; I will continue to work on fixes and optimizations.

@markshannon
Copy link
Copy Markdown
Member

I've commented on the issue #146073 (comment)

@cocolato
Copy link
Copy Markdown
Member Author

cocolato commented Apr 11, 2026

The new branch's bench result and executor graph (Debian 13 WSL2, Linux 6.6.87.2, x86_64, AMD Ryzen 5 5600X):

+----------------------+----------+-----------------------+
| Benchmark            | baseline | fitness               |
+======================+==========+=======================+
| raytrace             | 251 ms   | 222 ms: 1.13x faster  |
+----------------------+----------+-----------------------+
| pickle_pure_python   | 275 us   | 255 us: 1.08x faster  |
+----------------------+----------+-----------------------+
| go                   | 84.1 ms  | 79.2 ms: 1.06x faster |
+----------------------+----------+-----------------------+
| spectral_norm        | 54.5 ms  | 52.2 ms: 1.05x faster |
+----------------------+----------+-----------------------+
| regex_compile        | 101 ms   | 98.7 ms: 1.03x faster |
+----------------------+----------+-----------------------+
| unpickle_pure_python | 173 us   | 171 us: 1.01x faster  |
+----------------------+----------+-----------------------+
| pidigits             | 137 ms   | 136 ms: 1.01x faster  |
+----------------------+----------+-----------------------+
| regex_effbot         | 1.95 ms  | 1.97 ms: 1.01x slower |
+----------------------+----------+-----------------------+
| xml_etree_process    | 49.0 ms  | 49.5 ms: 1.01x slower |
+----------------------+----------+-----------------------+
| xml_etree_generate   | 74.5 ms  | 75.4 ms: 1.01x slower |
+----------------------+----------+-----------------------+
| json_dumps           | 7.31 ms  | 7.42 ms: 1.01x slower |
+----------------------+----------+-----------------------+
| nbody                | 50.4 ms  | 51.2 ms: 1.02x slower |
+----------------------+----------+-----------------------+
| fannkuch             | 258 ms   | 262 ms: 1.02x slower  |
+----------------------+----------+-----------------------+
| json_loads           | 18.4 us  | 18.8 us: 1.02x slower |
+----------------------+----------+-----------------------+
| xml_etree_parse      | 118 ms   | 120 ms: 1.02x slower  |
+----------------------+----------+-----------------------+
| deltablue            | 2.19 ms  | 2.26 ms: 1.03x slower |
+----------------------+----------+-----------------------+
| pyflate              | 272 ms   | 282 ms: 1.03x slower  |
+----------------------+----------+-----------------------+
| richards             | 16.1 ms  | 16.9 ms: 1.05x slower |
+----------------------+----------+-----------------------+
| Geometric mean       | (ref)    | 1.00x faster          |
+----------------------+----------+-----------------------+

graphviz

For the richards test, reducing the branch penalty can help us close loops.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants