giovedì 1 marzo 2012

goto (2)

L'istruzione C goto è, come spesso si sente dire, sconsigliata in ogni contesto. Come mostrato in un mio vecchio post, il kernel di Linux include migliaia di istruzioni goto. Ebbene l'esecuzione della stessa ricerca all'interno del solo ramo sys di un kernel FreeBSD (8.2-RELEASE) mostra un totale di 20898 istruzioni goto! La cifra è grosso modo il doppio del corrispondente di un kernel Linux.
Ovviamente la cosa non deve trarre in inganno, non si è davanti ad un esempio di cattiva programmazione: le istruzioni goto si trovano infatti maggiormente nel codice specifico delle varie architetture supportate. Esse rappresentano un modo sintetico ed efficace di salto incondizionato.

Nessun commento: