próbując przyśpieszyć kod, doszedłem do wniosku że wąskim gardłem (tak się to po naszemu nazywa?) jest kompilator.
Jesteś na 101% pewny, że robisz to właściwie? Pytam zupełnie poważnie.
Jako projektant aplikacji, musisz być świadomy że pewnych ograniczeń docelowej platformy nie przeskoczysz. Kompilatory generują kody wykonywalne dla danego OS - taki opakowany w szufladki, zrozumiały dla OS kod maszynowy.
Szybciej nie za bardzo się da, chyba że jakimś kosztem. Optymalizacje dokonywane przez kompilatory też mają swoją cenę - wydłużenie czasu kompilacji czy zaniedbanie symboli dla debuggera.
Ale znów dochodzimy do sytuacji, w której po prostu nie można przeskoczyć pewnej fizycznej granicy. Wywołanie funkcji zawsze wiąże się z odłożeniem parametrów na stos, odłożeniem obecnego adresu wykonywanego polecenia, skokiem do odpowiedniej funkcji, zdjęciem ze stosu argumentów, utworzeniem pamięci na obiekt zwrócony... No inaczej się nie da, takie są reguły gry.
C++ jest językiem, którego priorytetem projektowym była jak największa wydajność produkowanych aplikacji (wykorzystywanie go w systemach wbudowanych mówi samo za siebie) - moim skromnym zdaniem ten kompilator, który najwierniej przestrzega reguł standardu, jest najlepszy.
Oczywiście dochodzą również kwestie inne, jak np. "mulitplatformowość: wada czy zaleta?". Wiadomo, że kompilator dedykowany dla danej platformy może dokonywać pewnych usprawnień, które są niedostępne na innych platformach, wykorzystując jej unikalną specyfikę - dlatego właśnie profesjonalne studia piszące gry na PC używają przeważnie kompilatora od M$.
Ciężko doradzać Ci cokolwiek - jednak uważam, że jeśli narzekasz na kompilator, to niestety coś jest nie halo z Twoim kodem.
Temat kompilatorów jest traktowany często po macoszemu
Na pewno nie przez ich twórców. ;)
Pozdrawiam. :)