[Linux-Biella] Apple iProblema
Jumping Jack
jumpingjack a mclink.it
Lun 24 Feb 2014 15:54:16 CET
On 24/02/2014 15:38, PaulTT wrote:
> On 24/02/2014 15:24, Jumping Jack 說:
>> On 24/02/2014 14:51, PaulTT wrote:
>>>
>>> ma sinceramente a me e' venuto quasi un conato di vomito vedendo
>>> quelle 4 righe :D
>>> fosse stato scritto decentemente, e addirittura con il goto, non
>>> avrebbero sbagliato
>>> quello imho e' proprio un errore di sfiga/disattenzione, copia
>>> incolla 8 volte la stessa roba, facile sbagliare :D
>>> poi con chissa che iEditor di cacca.... con vi e una bella
>>> condizione || per riga e un goto solo, vuoi vedere che non ti
>>> scappa?? ;)
>> Con una chain di || non puoi prevedere esattamente come verrà compilata,
>
> eh?
>
>> inoltre riduce la capacità di ottimizzazione del compilatore.
>
> e due, eh?
Un linea con una serie di OR deve essere interamente valutata prima di
saperne il risultato, il compilatare può fare alcune ottimizzazioni
eliminandone alcune ma il come lo farà è strettamente dipendente dal
compilatore stesso e dai parametri di ottimizzazione. Quindi il codice è
di base più lento, ma di quanto non si sa e varia con il compilatore.
Un sequenza IF GOTO invece massimizza la velocità di esecuzione e lascia
il resto del lavoro di ottimizzazione al branch predictor che
funzionerà, quasi certamente, al meglio rispetto un compilato intricato
e pre-ottimizzato.
Questo discorso vale per l'architettura x86 e x64, non vale per IA-64 in
quanto l'ottimizzazione del codice va fatta interamente dal compilatore,
quindi il comdice va scritto il più semplice (possibile per il
compilatore). Non conosco invece Arm.
JJ
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://ml.bilug.linux.it/pipermail/linux/attachments/20140224/f7fa879d/attachment.html>
Maggiori informazioni sulla lista
Linux