Molti processori hanno istruzioni "piccole" che possono eseguire operazioni aritmetiche, compresi i confronti, su alcuni operandi immediatamente specificati. Gli operandi diversi da quelli speciali devono utilizzare un formato di istruzioni più grande o, in alcuni casi, devono utilizzare un'istruzione "valore di caricamento 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; il secondo e il terzo modulo possono o non possono essere eseguiti più rapidamente, a seconda della velocità della memoria da cui viene prelevato il codice. La quarta forma di modulo sarà quasi certamente più lenta delle prime tre, e la quinta forma ancora più lenta, ma quest'ultima può essere utilizzata con qualsiasi valore a 32 bit.
Su processori x86 precedenti, le istruzioni di confronto in forma breve venivano eseguite più rapidamente di quelle a forma lunga, ma molti processori più recenti convertono entrambi i moduli lunghi e corti nella stessa rappresentazione quando vengono recuperati per la prima volta e memorizzano tale rappresentazione uniforme in il cache. Pertanto, mentre i controller incorporati (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à solo caricare la costante in un registro una volta - prima che il ciclo inizi - rendendo evidenti le distinzioni temporali. D'altra parte, ci sono alcune situazioni, anche in piccoli cicli, dove ciò non accade sempre; se un ciclo è piccolo ma pesantemente eseguito, a volte può esserci una prestazione importante tra confronti che riguardano valori immediati brevi e quelli che coinvolgono valori più lunghi.