[nohtml]
Zoijar schreef op 18 september 2002 @ 19:58:
[...]
Hmmm... ik durf hier niet veel met zekerheid over te zeggen, maar, in principe maken grotere parse tabellen een compiler niet echt langzamer volgens mij. Dat is juist de hele rede dat je parse tabellen maakt, dat je in vrijwel lineare snelheid kan parsen. Het genereren zal wel langer duren, maarja, dat is dus al gedaan

nou ja de tabellen moeten ook doorzocht worden. En als ik eens een kijkje neem in een source file gegenereerd door bison dan zie ik daar een enorme switch statement staan
Volgens mij zit de compile snelheids factor juist in optimalisatie algorithmen ed. Afsluitingen berekenen etc. En als het zo is dat VC7 een aantal template features gewoon negeerd, dan kan ik me voorstellen dat die daardoor een stuk sneller door de code heen kan gaan.
er zijn welgeteld 3 features die ze negeren: out of class template definitions, partial template specialization en partial ordening of function templates. Ik zie niet in hoe een van deze 3 iets te maken zou hebben met optimalizaties.
Sowieso hebben templates an sich niets te maken met optimalizaties: een template kun je zien als een soort van preprocessor-macro, behalve dat het wel geparsed wordt, en na de parse-stap de argumenten worden ingevuld.
Als je het dan naar de sematic analyser stuurt dan is het niets meer dan een stuk code waarbij alle generieke argumenten zijn vervangen door de daadwerkelijke argumenten, en vanaf dat moment bestaat er ook geen verschil meer tussen template code en gewone code.
Maar goed, dit stukje is 100% IMHO, ik weet verder niet hoe de compiler er daadwerkelijk mee omgaat

Vooral de regel met "because they are considered by Microsoft to be obscure", had ik echt zoiets van "en dat bepalen zij?"

waarom mag MS niet zelf bepalen wat ze obscuur vinden en wat niet? Niet dat ik het met ze eens ben overigens

Ik ben maar al te blij dat de template features in mijn favo compiler enorm zijn uitgebreid, en dat er nu maar een paar dingen zijn die niet compliant zijn. En het doet me deugd te lezen:
Microsoft is however working to ensure that Visual C++ will compile the most popular libraries such as Boost, Blitz, Loki and a fully compliant version of STLOm nog ff op het topic terug te komen... Als ik het goed begrijp gebruik je gcc om grote tabellen met grafische data om te zetten naar een gameboy formaat?
het is niet mijn topic