April 3rd, 2007

with Cat The Cat

Еще интересное.

Некоторые неназывающие себя личности комментируют мой журнал, издевательски указывая мне на мою неспособность учиться на чужих ошибках.

В комментарии я ошибся, на фреймворк потребовалось не два человекомесяца, а четыре - два человека на два месяца.

Байда этот ваш Эрланг! ;)

Хотя пример с фремфорком не очень показателен с точки зрения сравнения языков программирования. Для написания оного фреймворка были взяты два аспиранта, люди, во-первых, неопытные, во-вторых, которым это все до лампочки. Без искорки люди.

Поэтому и результат такой. Язык-то они быстро освоили...

С другой стороны, это показательный опыт с точки зрения руководства, поскольку разработка проиводилась со снятием метрик, планированием в стиле PSP/TSP или чего-то столь же мощного и раскрученного. Но про это Влад (который gaperton) говорил, что процесс планирования и снятия метрик не может гарантировать полезность результата, только то, что результат будет сдан в срок.

Ну, и третий урок, который я уже когда-то упоминал: в споре идеалиста и реалиста побеждает обладающий административным ресурсом. Сиречь начальник. ;)
with Cat The Cat

Небольшая история про Хаскель и опрос.

Наша модель имела утечкуу памяти. Небольшую, но все же. Это очень интересно сказывалось на производительности (lomeo уже про это читал;).

Время сборки мусора для копирующего сборщика (как в случае с ghc) пропорционально количеству живых данных. Если это количество все время растет (утечка), то время выполнения программы также начинает расти, причем квадратично - за время δT полезной работы мы добавляем δM байт к уже имевшимся ранее M байт и время работы сборщика становится t+δt. И в нашем случае так и было, причем формула зависимости времени работы для выполнения N команд процессора имела вид наподобие 0.0000001*N2+0.00016*N+0.7. Некоторое время на разогрев (ассемблирование и подготовка образа памяти), 6000 команд в секунду на старте и учет времени сборки утечки.

Большинство тестов укладывалось в 100000 тактов эмулируемого процессора (время ожидания более часа).

Где была утечка, я так и не нашел.

Еще один аспирант, которого нам придали для изучения Хаскеля, потихоньку слил задачу поиска утечки ("нужно было понять, как работает Фортрановская программа в 200 тысяч строк и ускорить ее работу в два раза" - не справился;). Почему я и взялся искать. ;)

Переходя к вопросу: что с вашей точки зрения лучше, модель с утечкой памяти или неработающий фреймворк (даже не модель!)? ;)

Фреймворк, однако, обладает кучей полезных свойств: нет утечек памяти из-за ленивости, удобно эмулировать регистровые файлы, распределенная работа (на нескольких компьютерах), легкая интеграция с сишным кодом (а значит - легко подключать внешние VHDL, Verilog, SystemC модели)...

Так что, какой выбор? ;)
with Cat The Cat

asocio прошелся по теме гуманитариев и технарей

от тут.

"Невидимая власть гуманитариев," ага. ;)

Дополнение после небольшого размышления.

Если внимательно присмотреться, то любые попытки оспорить это дело должны наткнуться на неверифицируемость - "я подвергаю сомнению существование власти гуманитариев из-за ощущения давления," "моя ненависть к гуманитариям вызвана их властью," и тп, вырваться из этого круга невозможно.

Любимый прием, идет еще из глубины веков.