PIC18
Відповідь PIC18, надана TK, призводить до наступних інструкцій (двійкових):
overflow
PUSH
0000 0000 0000 0101
CALL overflow
1110 1100 0000 0000
0000 0000 0000 0000
Однак CALL самостійно виконає переповнення стека:
CALL $
1110 1100 0000 0000
0000 0000 0000 0000
Менший, швидший PIC18
Але RCALL (відносний виклик) все ще менший (не глобальна пам'ять, тому немає необхідності в додаткових 2 байтах):
RCALL $
1101 1000 0000 0000
Тож найменший на PIC18 - це одна інструкція, 16 біт (два байти). Це займе 2 циклу інструкцій на цикл. За 4 тактових тактики на цикл інструкцій у вас є 8 тактових годин. PIC18 має стек 31 рівня, тому після 32-го циклу він переповнює стек, за 256 тактових циклів. На 64 МГц ви переповнюєте стек за 4 мікро секунди та 2 байти .
PIC16F5x (навіть менший і швидший)
Однак серія PIC16F5x використовує 12-бітні інструкції:
CALL $
1001 0000 0000
Знову два цикли інструктажу на цикл, 4 години на інструкцію, так 8 циклів годин на цикл.
Однак PIC16F5x має стек двох рівнів, тому на третьому циклі він переповнюється за 24 інструкціями. На частоті 20 МГц вона переповнюватиметься за 1,2 мікро секунди та 1,5 байти .
Intel 4004
Intel 4004 має 8 розрядну команду виклику підпрограми:
CALL $
0101 0000
Для допитливих, що відповідає ascii 'P'. З стеком на 3 рівні, який займає 24 тактових тактових годин в цілому 32,4 мікро секунди і один байт . (Якщо ви не розігнали свій 4004 - давай, ти знаєш, що хочеш.)
Що таке не менше, ніж відповідь befunge, але набагато, набагато швидше, ніж код befunge, що працює в поточних інтерпретаторах.