Domanda

Il VB.NET 2008 compilatore in modo selettivo ottimizzare le Istruzioni Select Case?

Per esempio, un'Istruzione Select Case con una quantità sufficiente di integer casi potrebbe essere organizzato come un binario di ricerca.

Chiedo questo perchè anche io sono curioso di sapere se devo o non devo optare per un Select Case nel luogo di Istruzioni Se con più Altro di Se, dove interi o altri tipi di dati di base sono confrontati.

È stato utile?

Soluzione

Select Case con 40 scelte è più di 10 volte più veloce di una stringa di 40 ElseIf dichiarazioni.Che è più di miglioramento che ci si aspetta di arrivare con un binario di ricerca.Credo che un semplice intero Select Case utilizza ciò che il moderno codice macchina equivalente di una calcolata istruzione goto, che raccoglie in modo che i rami direttamente al proprio "caso" in base al valore dell'intero.

Penso Select Case l'unica è andare con.

Altri suggerimenti

In generale, si dovrebbe preoccupare di codice leggibilità e manutenibilità oltre e al di sopra di questo tipo di micro-ottimizzazione.

A meno che questa opzione è all'interno di un ciclo che viene eseguito 1000 (milioni?) di volte, questo è altamente improbabile che sia la performance bottlebeck della tua app.

Prendere una decisione e bastone con esso per ragioni di coerenza.In generale, non di prestazioni di ottimizzare il codice fino a quando si sono analizzate dove le vostre prestazioni sono i colli di bottiglia.

Vedi anche questa domanda.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top