April 3rd, 2007
Про Китай
Еще интересное.
Некоторые неназывающие себя личности комментируют мой журнал, издевательски указывая мне на мою неспособность учиться на чужих ошибках.
В комментарии я ошибся, на фреймворк потребовалось не два человекомесяца, а четыре - два человека на два месяца.
Байда этот ваш Эрланг! ;)
Хотя пример с фремфорком не очень показателен с точки зрения сравнения языков программирования. Для написания оного фреймворка были взяты два аспиранта, люди, во-первых, неопытные, во-вторых, которым это все до лампочки. Без искорки люди.
Поэтому и результат такой. Язык-то они быстро освоили...
С другой стороны, это показательный опыт с точки зрения руководства, поскольку разработка проиводилась со снятием метрик, планированием в стиле PSP/TSP или чего-то столь же мощного и раскрученного. Но про это Влад (который gaperton) говорил, что процесс планирования и снятия метрик не может гарантировать полезность результата, только то, что результат будет сдан в срок.
Ну, и третий урок, который я уже когда-то упоминал: в споре идеалиста и реалиста побеждает обладающий административным ресурсом. Сиречь начальник. ;)
В комментарии я ошибся, на фреймворк потребовалось не два человекомесяца, а четыре - два человека на два месяца.
Байда этот ваш Эрланг! ;)
Хотя пример с фремфорком не очень показателен с точки зрения сравнения языков программирования. Для написания оного фреймворка были взяты два аспиранта, люди, во-первых, неопытные, во-вторых, которым это все до лампочки. Без искорки люди.
Поэтому и результат такой. Язык-то они быстро освоили...
С другой стороны, это показательный опыт с точки зрения руководства, поскольку разработка проиводилась со снятием метрик, планированием в стиле PSP/TSP или чего-то столь же мощного и раскрученного. Но про это Влад (который gaperton) говорил, что процесс планирования и снятия метрик не может гарантировать полезность результата, только то, что результат будет сдан в срок.
Ну, и третий урок, который я уже когда-то упоминал: в споре идеалиста и реалиста побеждает обладающий административным ресурсом. Сиречь начальник. ;)
Небольшая история про Хаскель и опрос.
Наша модель имела утечкуу памяти. Небольшую, но все же. Это очень интересно сказывалось на производительности (
lomeo уже про это читал;).
Время сборки мусора для копирующего сборщика (как в случае с ghc) пропорционально количеству живых данных. Если это количество все время растет (утечка), то время выполнения программы также начинает расти, причем квадратично - за время δT полезной работы мы добавляем δM байт к уже имевшимся ранее M байт и время работы сборщика становится t+δt. И в нашем случае так и было, причем формула зависимости времени работы для выполнения N команд процессора имела вид наподобие 0.0000001*N2+0.00016*N+0.7. Некоторое время на разогрев (ассемблирование и подготовка образа памяти), 6000 команд в секунду на старте и учет времени сборки утечки.
Большинство тестов укладывалось в 100000 тактов эмулируемого процессора (время ожидания более часа).
Где была утечка, я так и не нашел.
Еще один аспирант, которого нам придали для изучения Хаскеля, потихоньку слил задачу поиска утечки ("нужно было понять, как работает Фортрановская программа в 200 тысяч строк и ускорить ее работу в два раза" - не справился;). Почему я и взялся искать. ;)
Переходя к вопросу: что с вашей точки зрения лучше, модель с утечкой памяти или неработающий фреймворк (даже не модель!)? ;)
Фреймворк, однако, обладает кучей полезных свойств: нет утечек памяти из-за ленивости, удобно эмулировать регистровые файлы, распределенная работа (на нескольких компьютерах), легкая интеграция с сишным кодом (а значит - легко подключать внешние VHDL, Verilog, SystemC модели)...
Так что, какой выбор? ;)
Время сборки мусора для копирующего сборщика (как в случае с ghc) пропорционально количеству живых данных. Если это количество все время растет (утечка), то время выполнения программы также начинает расти, причем квадратично - за время δT полезной работы мы добавляем δM байт к уже имевшимся ранее M байт и время работы сборщика становится t+δt. И в нашем случае так и было, причем формула зависимости времени работы для выполнения N команд процессора имела вид наподобие 0.0000001*N2+0.00016*N+0.7. Некоторое время на разогрев (ассемблирование и подготовка образа памяти), 6000 команд в секунду на старте и учет времени сборки утечки.
Большинство тестов укладывалось в 100000 тактов эмулируемого процессора (время ожидания более часа).
Где была утечка, я так и не нашел.
Еще один аспирант, которого нам придали для изучения Хаскеля, потихоньку слил задачу поиска утечки ("нужно было понять, как работает Фортрановская программа в 200 тысяч строк и ускорить ее работу в два раза" - не справился;). Почему я и взялся искать. ;)
Переходя к вопросу: что с вашей точки зрения лучше, модель с утечкой памяти или неработающий фреймворк (даже не модель!)? ;)
Фреймворк, однако, обладает кучей полезных свойств: нет утечек памяти из-за ленивости, удобно эмулировать регистровые файлы, распределенная работа (на нескольких компьютерах), легкая интеграция с сишным кодом (а значит - легко подключать внешние VHDL, Verilog, SystemC модели)...
Так что, какой выбор? ;)
Выдры
asocio прошелся по теме гуманитариев и технарей
от тут.
"Невидимая власть гуманитариев," ага. ;)
Дополнение после небольшого размышления.
Если внимательно присмотреться, то любые попытки оспорить это дело должны наткнуться на неверифицируемость - "я подвергаю сомнению существование власти гуманитариев из-за ощущения давления," "моя ненависть к гуманитариям вызвана их властью," и тп, вырваться из этого круга невозможно.
Любимый прием, идет еще из глубины веков.
"Невидимая власть гуманитариев," ага. ;)
Дополнение после небольшого размышления.
Если внимательно присмотреться, то любые попытки оспорить это дело должны наткнуться на неверифицируемость - "я подвергаю сомнению существование власти гуманитариев из-за ощущения давления," "моя ненависть к гуманитариям вызвана их властью," и тп, вырваться из этого круга невозможно.
Любимый прием, идет еще из глубины веков.
While meddling with assemblers...
Эппл собирается продавать музыку без DRM, и в более высоком акчестве (256kbit AAC).
Не верю своим органам чувств.
Если это дело пойдет...
Не верю своим органам чувств.
Если это дело пойдет...