DranXXX wrote:Ehm... ragazzi, c'è nessuno che sa oltre alla vettorizzazione, cosa introduce di nuovo e quali miglioramenti, a livello ri opzioni e architetture il nuovo gcc implementa?
Il Fortran 90 è già una bella implementazione e sarei curioso sulle migliorie sul compilatore C++ che è quello che di solito non è molto performante, che migliorie sono stete introdotte?
nel vecchio thread, che ha fatto gridare allo scandalo qualcuno, si era già detto, portando anche motivazioni molto concrete, come la nuova versione possa difficilmente portare un incremento di prestazioni nell'esecuzione di codice C su macchine x86 compatibili.
chi è a caccia di incrementi di prestazioni è destinato ad una sana batosta. chi l'incremento di prestazioni lo nota, è stato colpito dall'effetto panacea...
guardando bene il changelog (basterebbe leggere...) sul C è stato cambiato ben poco:
C family
* The sentinel attribute has been added to GCC. This function attribute allows GCC to warn when variadic functions such as execl are not NULL terminated. See the GCC manual for a complete description of its behavior.
* Given __attribute__((alias("target"))) it is now an error if target is not a symbol, defined in the same translation unit. This also applies to aliases created by #pragma weak alias=target. This is because it's meaningless to define an alias to an undefined symbol. On Solaris, the native assembler would have caught this error, but GNU as does not.
in pratica non è cambiato NIENTE, e notare che si tratta di un aggiornamento di major-release: una cosa che dovrebbe portare cambiamenti enormi in un software... non è cambiato NIENTE, ed il motivo è molto semplice: C è un linguaggio che esiste da una vita, ed ormai è ben standardizzato ed acquisito; tutto quello che si poteva ottimizzare è già stato ottimizzato.
ora... piccola riflessione... il kernel è scritto in C, X è scritto in C, i server sono scritti in C... la percentuale di software per UNIX scritto in C puro è SMODATAMENTE GRANDE, rispetto a quella di software scritto in altri linguaggi (C++ e java in primis).
sotto queste ipotesi (ricordo ancora per i tardi di mente che non è cambiato quasi niente nel trattamento di codice C) mi chiedo cosa si aspettino quelli che cercano l'incremento di prestazioni... se mai arriverà, questo incremento, non sarà di certo grazie al compilatore super-professional mega-galattico, ma solo all'
illusione che il vecchio 486, grazie al nuovo compilatore, possa andare a fare il culo al mainframe di zion...
il bello è che poi quando si fanno notare queste cose, arrivano tutti i fanatici della nuova versione, quelli che non sanno nemmeno cosa sia cambiato dalla nuova alla vecchia, ma che devono avere l'ultimissima a tutti i costi, e fanno i martiri della patria...
forse sarò io una testa di minchia... a costo di apparire come diavolo volete... a me sembra che si dicano parecchie fesserie, e che ci sia troppa gente che parla di cose che non conosce, alimentando così le leggende che orbitano intorno all'informatica...
preciso che non sto a scrivere queste cose perché ho voglia di fare flames. le scrivo come una mia semplice riflessione
lo dico prima che qualcuno troppo suscettibile si sena urtato nel suo nobile animo. non vuole essere una critica diretta a nessuno. solo un invito a riflettere