Tja, ik heb inmiddels gekozen om m'n game engine gewoon in C# te schrijven in plaats van C++. De prestaties ontlopen elkaar tegenwoordig vaak nog maar enkele procenten.
Mijn conclusie was dat dat snel genoeg was. Immers kon ik veel meer prestaties winnen ten opzichte van Unity door betere architectuurkeuzes.
Lijkt me een uitstekende keuze en CIL/C# heeft denk ik ongeveer de beste toolchain/IDE/profiling/etc. etc. mogelijkheden om je als programmeur te blijven focussen op code/architectuur wat onnoemelijk veel meer oplevert qua vooruitgang in plaats van denken dat je zelf efficiënter kan coden op bare metal dan een moderne compiler kan uitschrijven, al dan niet JIT (en kudo's voor C64 etc. hobbyisten, maar dat is totaal ander niveau dan MMU/cache/opcode vertalingen/pipelining etc. etc. waar elke chipset zijn eigen humor heeft).
Ik had vroeger graag C compiler ontwerper/bouwer willen worden maar al heel veel jaren geleden geaccepteerd dat ik compleet en voor altijd voorbijgestreefd bent. Snif.
Er is alleen de niche van harde real-time op b.v. embedded of semi-embedded systemen waar executie en geheugen(de)allocatie deterministisch moeten zijn. Dan is er eigenlijk geen andere keuze buiten een C++ variant voor de hele software stack als je iets meer wilt dan hardware interfacing via C. Want ik wil weten welke code voor de hardware wordt uitgepoept. Rust doet hier ook vreemde dingen.
Zit je op dat niveau dan weet je dat je de hardware undefined behaviour zal houden en daarmee obscure bugs. Die zijn ook te gebruiken in je voordeel, behalve als je denkt die onmogelijkheid met steeds nieuwere standaarden op te kunnen lossen, dat levert alleen meer mogelijke paden en BSPs zijn zeer wispelturig, zelfs met dezelfde architectuur, een nieuwe batch van hetzelfde kan ook verrassingen leveren.
Dat blijf ik bijzonder vinden aan C++, bepaald niet mijn eerste keuze (waarschijnlijk de laatste) maar omdat het een zee van paradoxen en paradigma's herbergt voor alles een gegarandeerde en meestal moeizame oplossing met absoluut de meeste invalshoeken voor alternatieve implementaties ooit.
Het is de enige taal waarbij je denkt, nou, nu is het wel een keer genoeg om 3 uur 's nachts en verdere verbetering/verandering/overhoopgooien levert niks op, ik hou alleen mezelf voor de gek.
Ik heb bij C++ heel heel vaak met een biertje op gedacht en de idee gehad dat Stroustrup stiekem als enige doel heeft gehad altijd te blijven programmeren -- een soort Star Citizen voor programmeurs