Banyak prosesor memiliki instruksi "kecil" yang dapat melakukan operasi aritmatika, termasuk perbandingan, pada operan tertentu yang segera ditentukan. Operand selain nilai-nilai khusus tersebut harus menggunakan format instruksi yang lebih besar atau, dalam beberapa kasus, harus menggunakan instruksi "load value from memory". Dalam set instruksi ARM Cortex-M3, misalnya, setidaknya ada lima cara nilai dapat dibandingkan dengan konstanta:
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
Bentuk pertama adalah yang terkecil; bentuk kedua dan ketiga mungkin atau tidak mungkin dijalankan dengan cepat, tergantung pada kecepatan memori dari mana kode diambil. Bentuk keempat bentuk hampir pasti akan lebih lambat dari tiga yang pertama, dan bentuk kelima bahkan lebih lambat, tetapi yang terakhir dapat digunakan dengan nilai 32-bit.
Pada prosesor x86 yang lebih lama, instruksi membandingkan formulir pendek akan mengeksekusi lebih cepat daripada yang panjang, tetapi banyak prosesor yang lebih baru akan mengonversi bentuk panjang dan pendek ke representasi yang sama ketika mereka pertama kali diambil, dan menyimpan representasi seragam dalam cache. Jadi, sementara pengontrol yang tertanam (seperti yang ditemukan pada banyak platform seluler) akan memiliki perbedaan kecepatan, banyak komputer berbasis x86 tidak akan melakukannya.
Perhatikan juga bahwa dalam banyak kasus di mana konstanta banyak digunakan dalam satu loop, kompiler hanya perlu memuat konstanta ke register sekali - sebelum loop dimulai - rendering perbedaan waktu diperdebatkan. Di sisi lain, ada beberapa situasi, bahkan dalam loop kecil, di mana itu tidak akan selalu terjadi; jika loop kecil tetapi banyak dieksekusi, kadang-kadang mungkin ada kinerja besar antara perbandingan yang melibatkan nilai langsung pendek dan yang melibatkan yang lebih lama.