История изменений
Исправление byko3y, (текущая версия) :
Хотел понтануться перед дядькой асмом, а дядька, внезапно, знает асм.
(inst mov r 1)
LOOP
(inst test n n)
(inst jmp :z DONE)
(inst imul r n)
(inst dec n)
(inst jmp LOOP)
Это плохой цикл, компиляторы C/C++/Pascal сгенерируют код, который уделает этот раза в два. Это если не считать того, что ты вручную генерируешь асм, но как бы на CL.
Там многие программы для лиспа не оптимизированы и написаны довольно тупо, это давно известно, но лисперам лень править
То что ты называешь оптимизированным кодом, в рамках этого проекта называется «неидиоматический код» и в коммерческом софтостроении порицается, потому что сильно усложняет поддержку, делая код даже сложнее аналогичного кода на Си.
Исходная версия byko3y, :
Хотел понтануться преед дядькой асмом, а дядька, внезапно, знает асм.
(inst mov r 1)
LOOP
(inst test n n)
(inst jmp :z DONE)
(inst imul r n)
(inst dec n)
(inst jmp LOOP)
Это плохой цикл, компиляторы C/C++/Pascal сгенерируют код, который уделает этот раза в два. Это если не считать того, что ты вручную генерируешь асм, но как бы на CL.
Там многие программы для лиспа не оптимизированы и написаны довольно тупо, это давно известно, но лисперам лень править
То что ты называешь оптимизированным кодом, в рамках этого проекта называется «неидиоматический код» и в коммерческом софтостроении порицается, потому что сильно усложняет поддержку, делая код даже сложнее аналогичного кода на Си.