Molti processori dispongono di "piccole" istruzioni che possono eseguire operazioni aritmetiche, compresi i confronti, su determinati operandi specificati immediatamente. Operandi diversi da questi valori speciali devono utilizzare un formato di istruzione più grande o, in alcuni casi, utilizzare un'istruzione "Carica valore dalla memoria". Nel set di istruzioni ARM Cortex-M3, ad esempio, ci sono almeno cinque modi in cui un valore può essere confrontato con una costante:
cmp r0,#1 ; One-word instruction, limited to values 0-255
cmp r0,#1000 ; Two-word instruction, limited to values 0-255 times a power of 2
cmn r0,#1000 ; Equivalent to comparing value with -1000
; Two-word instruction, limited to values 0-255 times a power of 2
mov r1,#30000 ; Two words; can handle any value 0-65535
cmp r0,r1 ; Could use cmn to compare to values -1 to -65535
ldr r1,[constant1000000] ; One or two words, based upon how nearby the constant is
cmp r0,r1
...
constant1000000:
dd 1000000
La prima forma è la più piccola; la seconda e la terza forma possono o non possono essere eseguite così rapidamente, a seconda della velocità della memoria da cui viene prelevato il codice. La quarta forma sarà quasi certamente più lenta delle prime tre e la quinta forma anche più lenta, ma quest'ultima può essere utilizzata con qualsiasi valore a 32 bit.
Sui vecchi processori x86, le istruzioni di confronto in formato breve verrebbero eseguite più velocemente di quelle in formato lungo, ma molti processori più recenti convertiranno sia i moduli lunghi che quelli corti nella stessa rappresentazione quando vengono recuperati per la prima volta, e memorizzeranno quella rappresentazione uniforme nella cache. Pertanto, mentre i controller integrati (come quelli presenti su molte piattaforme mobili) avranno una differenza di velocità, molti computer basati su x86 non lo faranno.
Si noti inoltre che in molti casi in cui una costante viene utilizzata pesantemente all'interno di un ciclo, un compilatore dovrà caricare la costante in un registro solo una volta - prima dell'inizio del ciclo - rendendo discutibili le distinzioni temporali. D'altra parte, ci sono alcune situazioni, anche in piccoli anelli, in cui ciò non accadrà sempre; se un ciclo è piccolo ma eseguito pesantemente, a volte può esserci una prestazione importante tra confronti che coinvolgono valori immediati brevi e quelli che coinvolgono valori più lunghi.