Originariamente inviato da internet
hai compilato con -O3 ?
se no, prova a compilarlo con questo flag e rifai i bench

per le macro guarda qui (contro le macro)
http://www.parashift.com/c++-faq-lit...s.html#faq-9.5
http://www.parashift.com/c++-faq-lit....html#faq-38.4
http://www.parashift.com/c++-faq-lit....html#faq-38.5
http://www.parashift.com/c++-faq-lit....html#faq-38.6

a favore delle macro
http://www.idinews.com/macroPhobe.html
http://c2.com/cgi/wiki?PreprocessorsAreNotEvil


la fregatura principale la scoprirai quando dovrai utilizzare il debugger.
Si grazie, mi sono studiato i 4 evil.
Continuo comunque a preferire le macro, perkè inline non mi da certezze. Cioè se io dico "inline" al compilatore, non deve discutere, deve espandere in linea e basta, ciò non avviene.
Quando prima esamino bene tutti gli evil cases e cerco di rendere l'uso del mio costrutto privo della maggior parte di preoccupazioni.
E' chiaro che non riesco comunque a rendere una macro esattamente come una funzione inline in tutti i casi. Però alle funzioni macro uno le potrebbe dare un nome tutto maiuscolo in modo da allertare e far ricordare all'utilizzatore tutti gli evil prima di commettere sciocchezze.
Cmq così a prima vista penso che i 4 evil si possono risolvere in modo trasparente, quello però dove c'è l'esempio di macro safe e unsafe per ora non mi viene in mente nulla.

Quanto prima mi vedo ste cose e riuppo il tutto. Occorre stare attenti perkè ste macro sono carogne per i cosiddetti
"well-hidden-bugs" .

Per il fatto della debuggabilità penso di risolvere attraverso vie alternative, tanto il debugger io già lo uso poco per il fatto che faccio molto multi-process.

Grazie comunque dei link, avevo un sacco di fili scollegati in testa, adesso grazie a te circola corrente.

Ciao !