mclane wrote: ↑Mon Nov 16, 2020 11:12 am
And its difficult to go OUT of this paradigm.
That is one of the things I meant. Older engines are based on older ideas. If an engine is (for exmample) an array-based engine, it's very hard to change it to become a magic bitboard engine. You'd have to rewrite so much code that it's probably better to start over.
mar wrote: ↑Mon Nov 16, 2020 11:33 am
Senpai 1.0 is 2961, Senpai 2.0 is 3032 single threaded (CCRL 40/15), 3100 is SMP with 4 cores, do the maths yourself.
Well not everyone is Fabien plus I don't remember him ever claim that the improvements come from upgrading to a newer version of the compiler or similar nonsense.
Of course switching compilers doesn't gain you a few hundred Elo. I know that. But you also state:
The point is that to gain elo, you need to make real progress and that requires real effort, obviously.
A rewrite won't get you that per se, it only gives you a better codebase, you then have to build on top of that and add elo the standard way (unless the rewrite is like Python => C).
A rewrite gives you a better code base. There may be new techniques that Ed CAN'T build into ProDeo, even if he wanted to. (Assuming ProDeo actualy descents directly from Rebel.)
It's very possible that ProDeo (or other engines based on older code) contain code that prevents the author from upgrading compilers, and thus (for example) prevents them from using things like intrinsics, or make it very hard / time consuming / impossible to add newer features due to restrictions on the older version of the language. That sort of code may not be simply removable because it can be an integral part of the engine. It can prevent the engine from being usable on Android for example, because there's no compiler that supports the older code AND the newer Android versions.
I've seen many software projects in embedded engineering that are stuck this way: impossible / hard to to add features, impossible / hard to remove code, impossible to compile for a newer platform. Stuck where they are because of technical debt that can't be resolved any more. The only way to actually make progress is to rewrite the project.
It happens. It would not be a shame for someone like Ed to come to that conclusion, stop development on the current engine (but keep it running on newer platforms where possible), and start something new to see where he can take it. I would applaud it: a new engine from scratch from one of the old masters.