+55 голосов |
Начнём с хорошей. Настоящий подарок всем любителям Forth - наконец-то в свободном доступе полные варианты культовых книг Лео Броуди Starting Forth и Thinking Forth!
Thinking Forth давным-давно выходила в русском переводе, но малым тиражом и быстро стала редкостью. Мне досталась в каком-то букинисте в те времена, когда доллар стоил под 200 тысяч купонокарбованцев - без обложки, разодранная, с частично отсутствующими страницами.
А теперь - вторая новость. Она тоже из мира Forth, но выходит далеко-далеко за его границы.
Дело в том, что фортеры любят делать то, чего не любят все остальные - копошиться на низком, машинном уровне. Ну, специфика системы Forth такая - тут ничего не поделаешь.
Вот и Антон Эртл (Anton Ertl), разработчик Gforth (GNU Forth), повозился с разными версиями компилятора gcc (двумя релизами ветки 2.95 и 4.1) и продемонстрировал малоприятное:
"Снижение быстродействия сгенерированного кода gcc-4.1 обусловлено плохой алгоритмикой назначения регистров (registers allocation) и ошибочным механизмом замены при простом присваивании (copy propagation)".
Иными словами, - там, где gcc 2.95.1 генерировал код, весьма близкий к оптимальному, gcc 4.1 творит просто какое-то непотребство, другими словами не скажешь. Да вы сами взгляните на ассемблерные листинги - там всё понятно без слов.
Нехорошо это. Ой как нехорошо.
Digital Twin для мережевої інфраструктури: технологія завтрашнього дня, що доступна вже сьогодні
+55 голосов |