Thanks! I expect the PyPy version to perform better than at least some of the Nuitka builds, simply because PyPy’s JIT tends to favour the type of characteristics that chess engines have. I also understand that some of the engines may not support PyPy.
uSunfish, being specifically adapted for MicroPython, can benefit quite a lot from PyPy as well. The source code is the same for both versions.
I would be glad to see it climb towards the top 10 in your list, despite its design limitations. For example, even the high default of 256 hash slots in the PyPy version means a hash table of only around 400 KB, while most engines use hash tables measured in MB. Another limitation is that uSunfish mainly works with 31-bit integers, so that it can benefit from some MicroPython optimisations. Even the Zobrist hash is only 31 bits.
Despite these limitations, it usually outperforms its parent engine Sunfish in my tests. But Sunfish had different design objectives: it emphasises code legibility and code size over memory usage, which can easily reach GB after several matches.
In one of my tests, uSunfish managed to win 1 game out of 50 against D-House, but only because D-House made an inexplicable blunder in the endgame. Here is the game in question:
[pgn][White "D-House 1.2.0"]
[Black "uSunfish 1.1 (win32 - pypy)"]
[Result "0-1"]
[ECO "D10"]
[GameDuration "00:04:28"]
[GameEndTime "2026-05-15T00:55:44.234 Hora de ver. Europa Occidental"]
[GameStartTime "2026-05-15T00:51:15.290 Hora de ver. Europa Occidental"]
[Opening "Queen's Gambit declined"]
[PlyCount "110"]
[TimeControl "113+0.94"]
1. d4 {book} d5 {book} 2. c4 {book} c6 {book} 3. Nc3 {book} Nf6 {book}
4. Nf3 {book} e6 {book} 5. e3 {book} Nbd7 {book} 6. Qc2 {book} Bd6 {book}
7. g4 {book} h6 {book} 8. Bd2 {book} dxc4 {book} 9. Rg1 {+0.01/10 5.6s}
b5 {+0.86/6 3.1s} 10. h4 {-0.19/12 4.9s} Rf8 {+1.22/6 4.5s}
11. g5 {+0.76/11 3.6s} hxg5 {+1.09/7 4.3s} 12. hxg5 {+0.59/12 8.5s}
Nd5 {+0.95/7 2.9s} 13. Qh7 {+0.70/11 3.5s} g6 {+0.36/7 5.0s}
14. Ne4 {+0.70/12 3.7s} Bc7 {+0.50/7 4.8s} 15. b3 {+0.20/10 4.7s}
cxb3 {+0.09/6 3.6s} 16. axb3 {-0.01/12 6.2s} Bb7 {+0.18/7 2.6s}
17. Bh3 {+0.13/10 3.9s} c5 {+0.27/6 2.5s} 18. Ke2 {-0.01/10 8.1s}
Nf4+ {+0.13/5 4.5s} 19. exf4 {-0.47/11 5.0s} Bxe4 {+0.59/7 3.1s}
20. Rge1 {-0.38/10 5.3s} Nb6 {+0.81/6 3.0s} 21. Bg2 {-0.98/8 4.2s}
cxd4 {+0.95/6 2.6s} 22. Kf1 {+0.06/11 5.2s} Bxf3 {+1.13/6 3.7s}
23. Bxf3 {+1.07/10 4.0s} Kd7 {-0.19/6 2.5s} 24. Qg7 {+1.91/10 1.4s}
Nd5 {+0.63/6 2.5s} 25. Bxd5 {+1.58/10 1.7s} exd5 {-0.23/7 2.1s}
26. Qxd4 {+1.25/11 5.5s} Bb6 {-0.10/6 3.9s} 27. Qd3 {+1.85/10 2.2s}
Kc7 {-0.05/6 2.0s} 28. Qxb5 {+1.65/11 1.8s} Rh8 {+0.13/5 2.8s}
29. Rec1+ {+1.63/11 2.3s} Kb8 {+0.22/6 2.2s} 30. Kg2 {+2.34/11 1.7s}
Re8 {-0.78/5 2.0s} 31. Ra6 {+1.58/9 2.3s} Re6 {-1.00/6 3.1s}
32. Ra5 {+1.51/8 1.6s} a6 {0.00/5 2.0s} 33. Rxa6 {+0.91/10 1.7s}
Rxa6 {+1.68/7 3.2s} 34. Qxa6 {+1.00/11 1.8s} Bxf2 {+1.13/7 3.0s}
35. Qb5+ {+0.54/11 1.5s} Bb6 {+1.45/7 2.9s} 36. Rc5 {+0.83/11 1.3s}
Rd6 {-0.19/8 3.8s} 37. Ba5 {+0.69/11 2.2s} Kb7 {+0.22/8 3.9s}
38. Bxb6 {+0.84/10 1.2s} Qxb6 {-1.32/8 2.6s} 39. Rxd5 {+0.81/12 1.1s}
Qxb5 {-0.05/9 3.6s} 40. Rxb5+ {+0.93/13 1.4s} Ka6 {-0.19/8 3.0s}
41. Rb8 {+1.46/10 1.4s} Rd4 {-0.69/8 2.8s} 42. Kf3 {+1.94/12 2.1s}
Ka7 {-0.55/9 3.7s} 43. Rf8 {+2.21/12 1.2s} Rd7 {-1.10/10 2.2s}
44. f5 {+2.21/12 4.1s} Rb7 {+0.50/9 2.5s} 45. b4 {+1.89/11 1.4s}
gxf5 {-1.00/10 2.3s} 46. Kf4 {+2.05/10 0.85s} Rxb4+ {-2.46/10 2.0s}
47. Kxf5 {+2.31/11 2.5s} Ka6 {-2.55/8 2.1s} 48. Rxf7 {+2.56/11 0.91s}
Rb5+ {-2.05/10 2.0s} 49. Kf6 {+3.20/10 1.1s} Rb6+ {-2.87/11 2.1s}
50. Kg7 {+3.32/10 1.2s} Kb5 {-2.50/9 3.3s} 51. Kh7 {+3.32/9 1.2s}
Kc5 {-3.69/9 1.7s} 52. g6 {+8.62/11 0.95s} Rb1 {-4.32/8 1.7s}
53. Kg8 {+5.53/9 2.7s} Kd5 {-2.00/9 2.5s} 54. Kf8 {+2.75/9 1.4s}
Ke6 {-1.23/9 1.7s} 55. g7 {+10.09/9 0.96s} Rb8# {+576.36/7 0.005s, Black mates}
0-1[/pgn]
If you are interested....
Moderator: Ras
-
Fizban99
- Posts: 6
- Joined: Wed Jan 01, 2025 10:13 am
- Full name: Angel Monreal
-
Sylwy
- Posts: 5206
- Joined: Fri Apr 21, 2006 4:19 pm
- Location: IAȘI - the historical capital of MOLDOVA
- Full name: Silvian Rucsandescu
-
Sylwy
- Posts: 5206
- Joined: Fri Apr 21, 2006 4:19 pm
- Location: IAȘI - the historical capital of MOLDOVA
- Full name: Silvian Rucsandescu
Re: If you are interested....
My tournament PYTHON_1st_League_2026 after 1230 games:

-marked in green-my Python favorites;
-marked in blue-the four guests from Zig's world;
-marked in red-the newest Python competitors entered the tournament.
Out of 36 engines (32 in Python and 4 in Zig) only one (among the weakest-ValiantMk8) was tested by CCRL. I don't even remember CEGT....The mirage of the SF genome is like a black hole - an irresistible gravity for the famous testers of the planet...
..Only here you can see Java-Python-Go tournaments......By the way, I have introduced two more Zig guests. One (Radiance 4.4) for a clear reason - is an Elo marker for the best Python engines (Radiance 4.3 64-bit has 2071 Elo points on CCRL Blitz, and version 4.4 is accredited by the author's tests with 2243 Elo points). Maybe I will introduce 1-2 more markers for interpolation.
Water-1.0.2_x64 - it is a very interesting engine written entirely in Zig with a very original implementation of its own neural network in the engine architecture. It is worth studying.
NeuroSpeed-0.1_x64 & Ahcaira-0.4.0_x64 - there are two of the engines written in Zig compiled by me. The 3rd one (Delilah-evaluation based on NNUE) is too strong for this tournament.


-marked in green-my Python favorites;
-marked in blue-the four guests from Zig's world;
-marked in red-the newest Python competitors entered the tournament.
Out of 36 engines (32 in Python and 4 in Zig) only one (among the weakest-ValiantMk8) was tested by CCRL. I don't even remember CEGT....The mirage of the SF genome is like a black hole - an irresistible gravity for the famous testers of the planet...
Water-1.0.2_x64 - it is a very interesting engine written entirely in Zig with a very original implementation of its own neural network in the engine architecture. It is worth studying.
NeuroSpeed-0.1_x64 & Ahcaira-0.4.0_x64 - there are two of the engines written in Zig compiled by me. The 3rd one (Delilah-evaluation based on NNUE) is too strong for this tournament.
-
Fizban99
- Posts: 6
- Joined: Wed Jan 01, 2025 10:13 am
- Full name: Angel Monreal
Re: If you are interested....
Good to see uSunfish climbing a little.
By the way, Endamat was also tested by CCRL and is listed at 1216 Elo on the CCRL Blitz list, so it could also be used as an Elo marker.
By the way, Endamat was also tested by CCRL and is listed at 1216 Elo on the CCRL Blitz list, so it could also be used as an Elo marker.
-
Sylwy
- Posts: 5206
- Joined: Fri Apr 21, 2006 4:19 pm
- Location: IAȘI - the historical capital of MOLDOVA
- Full name: Silvian Rucsandescu
-
Sylwy
- Posts: 5206
- Joined: Fri Apr 21, 2006 4:19 pm
- Location: IAȘI - the historical capital of MOLDOVA
- Full name: Silvian Rucsandescu
-
Sylwy
- Posts: 5206
- Joined: Fri Apr 21, 2006 4:19 pm
- Location: IAȘI - the historical capital of MOLDOVA
- Full name: Silvian Rucsandescu
-
Sylwy
- Posts: 5206
- Joined: Fri Apr 21, 2006 4:19 pm
- Location: IAȘI - the historical capital of MOLDOVA
- Full name: Silvian Rucsandescu
-
Fizban99
- Posts: 6
- Joined: Wed Jan 01, 2025 10:13 am
- Full name: Angel Monreal
-
Sylwy
- Posts: 5206
- Joined: Fri Apr 21, 2006 4:19 pm
- Location: IAȘI - the historical capital of MOLDOVA
- Full name: Silvian Rucsandescu
Re: If you are interested....
No way. Before the tournament I test the versions. A newer version (especially for Python engines) does not automatically mean stronger. Two other examples from my tournament: in 17th place is (now) the AllayaChess engine (it is version 1.6). Look where the later version is (1.7-23rd place). Look where the Czech Beast 3.3.1 engine is. The 3.2 versions (which played in the 2nd league). were stronger. Conclusion: newer does not automatically mean stronger. Testing a little (especially in selfplay)....(if)...
Out of curiosity, I will also introduce the most recent version into the tournament: Endamat 20250627-x64.











