Я за месяц работы походил по всем граблям и по максимуму задействовал софтовые способы ускорения сборки:
— Отказался от MSBuild в пользу ninja, благо оригинальный проект в gyp и генерируется что угодно.
— Включил компонентную сборку.
— Установил msysgit из ветки fscache, который кеширует обращения к файловой системе на винде.
— Включил clcache (оригинальный немного недопилен, я использую форк, моего коллеги — github.com/vchigrin/clcache/
> никто не расстроится от замены.
dvcs же… У меня полная рабочая среда разворачивается за четыре часа из корпоративной сети, причем две трети времени занимает сборка мастера, одну треть — клонирование репозитория, а паралельно можно установить и настроить идешку, браузер, мессенджер, etc…
У меня выходит в районе трех полных компиляций в день на локальной машине. Еще до пары десятков на сборочной ферме.
На полную компиляцию уходит полтора часа на локальной машине и минут сорок на серваках сборочной фермы. Я не считаю запуск юнит тестов.
Буквально на днях увеличили память, SSD должны поставить позже…
А вообще, даже не используя SSD можно экономить время. Во первых, отказаться от студии. Она слишком прожорлива. В качестве системы сборки ninja заставила MSBuild курить в сторонке, а Sublime Text показал себя, как очень приятная IDE. Git из бранча с кешированием дисковых операций на винде, заметно быстрее обычного, включение компонентной сборки тоже возымело эффект.
Но не спорю, ждать компиляции всё равно приходится долго.
На этот вопрос тяжело ответить однозначно. С одной стороны нет, с другой — почему бы и нет. Объясню подробнее.
1. В своем коде — да.
Мы наследуем принципы хромиума. Мы не допускаем изменений, которые:
* Значительно увеличивают размеры файлов (10Кб — уже значительно);
* Замедляют приложение даже на доли секунды;
* Значительно увеличивают потребление памяти;
2. В чужом коде — нет.
То что наш проект основан на хромиуме, дает нам хорошую базу и между тем немного связывает руки — чем радикальнее наши изменения, тем сложнее merge на новую версию. В общем целом, провести радикальное ревью мы не можем (директория с проектом на рабочем компе у меня сейчас занимает 82Гб — такие объемы очень тяжело отрефакторить, у нас пока маленькая команда, да и чем больше изменения, тем сложнее их отдать в апстрим.
3. Но местами — тоже да.
Но при этом нельзя сказать, что мы ничего не меняем и никого не слушаем, к примеру, вскоре после появления соседнего поста о уменьшении периода таймера хромом, кто-то предложил заняться этой проблемой и отдать в апстрим.
Обращаю внимание, что это ни в коем случае не официальная позиция. Это личные впечатления.
Ну не скажите, у нас, к примеру, код не прошедший code review просто не сольется в мастер. Для чего-то хоть сколько-то нового — архитектурное ревью. Целая куча тестеров и внутренние прогоны внутри компании, прежде чем выкладывать релиз. Или это по вашему не вылизывание?
Плоский дизайн — вполне себе ничего, но вот длинные тени — это какое-то убожество. Такое ощущение, что кто-то пытается сделать плоский дизайн объемным… только вот зачем?
Американцы упрекают нас в пресечении пропаганды содомии среди детей, и при этом, сами засовывают свои носы в личную переписку десятков миллионов российских граждан. Поразительная двуличность фарисеев этих западных демократий, которые, с одной стороны, призывают нас к уважению к закону, к соблюдению прав человека, к конфиденциальности информации, а с другой стороны, бесцеремонно залезают и воруют информацию наших граждан.
Простите, но я не могу удержаться от этого:
Депутаты упрекают американцев в пресечении терроризма среди граждан, и при этом, сами вводят цензуру для десятков миллионов российских граждан. Поразительная двуличность фарисеев этих самобытных демократий, которые, с одной стороны, призывают американцев к уважению к закону, к соблюдению прав человека, к конфиденциальности информации, а с другой стороны, бесцеремонно ограничивают доступ к информации для наших граждан.
Это я к тому, что и те, и другие хороши… у всех бревна в глазах есть.
Как раз деньгами настоящее творчество не мотивируется. Деньгами мотивируется ширпотреб. А творчество само по себе мотиватор, потому что сам процесс должен доставлять удовольствие. Как музыкант, учащийся импровизировать, говорю.
Да, в этом случае есть дополнительные этапы, вроде компиляции в llvm биткод и трансляции его в javascript, зато действия по подготовке кода минимальны — нужно только написать простенькую обертку (никаких шаблонов на m4).
Если человек покупал компьютер без ОС или с предустановленным DOS/linux/BSD или у него вообще mac, то Office starter у него не будет. К тому же, насколько я понял, речь идет не о формате документа, а об обучении работе с офисным пакетов (что в техническом вузе — бредовая затея, ладно бы latex объясняли).
Скорее всего вы не знали, когда выбирали название, но pinboard — крутая отладочная плата от dihalt. Мне интересно, как он отреагирует на такое название.
ARM не делает процессоры. ARM проектирует процессорные ядра и лицензирует их.
— Отказался от MSBuild в пользу ninja, благо оригинальный проект в gyp и генерируется что угодно.
— Включил компонентную сборку.
— Установил msysgit из ветки fscache, который кеширует обращения к файловой системе на винде.
— Включил clcache (оригинальный немного недопилен, я использую форк, моего коллеги — github.com/vchigrin/clcache/
dvcs же… У меня полная рабочая среда разворачивается за четыре часа из корпоративной сети, причем две трети времени занимает сборка мастера, одну треть — клонирование репозитория, а паралельно можно установить и настроить идешку, браузер, мессенджер, etc…
На полную компиляцию уходит полтора часа на локальной машине и минут сорок на серваках сборочной фермы. Я не считаю запуск юнит тестов.
Буквально на днях увеличили память, SSD должны поставить позже…
А вообще, даже не используя SSD можно экономить время. Во первых, отказаться от студии. Она слишком прожорлива. В качестве системы сборки ninja заставила MSBuild курить в сторонке, а Sublime Text показал себя, как очень приятная IDE. Git из бранча с кешированием дисковых операций на винде, заметно быстрее обычного, включение компонентной сборки тоже возымело эффект.
Но не спорю, ждать компиляции всё равно приходится долго.
1. В своем коде — да.
Мы наследуем принципы хромиума. Мы не допускаем изменений, которые:
* Значительно увеличивают размеры файлов (10Кб — уже значительно);
* Замедляют приложение даже на доли секунды;
* Значительно увеличивают потребление памяти;
2. В чужом коде — нет.
То что наш проект основан на хромиуме, дает нам хорошую базу и между тем немного связывает руки — чем радикальнее наши изменения, тем сложнее merge на новую версию. В общем целом, провести радикальное ревью мы не можем (директория с проектом на рабочем компе у меня сейчас занимает 82Гб — такие объемы очень тяжело отрефакторить, у нас пока маленькая команда, да и чем больше изменения, тем сложнее их отдать в апстрим.
3. Но местами — тоже да.
Но при этом нельзя сказать, что мы ничего не меняем и никого не слушаем, к примеру, вскоре после появления соседнего поста о уменьшении периода таймера хромом, кто-то предложил заняться этой проблемой и отдать в апстрим.
Обращаю внимание, что это ни в коем случае не официальная позиция. Это личные впечатления.
Простите, но я не могу удержаться от этого:
Депутаты упрекают американцев в пресечении терроризма среди граждан, и при этом, сами вводят цензуру для десятков миллионов российских граждан. Поразительная двуличность фарисеев этих самобытных демократий, которые, с одной стороны, призывают американцев к уважению к закону, к соблюдению прав человека, к конфиденциальности информации, а с другой стороны, бесцеремонно ограничивают доступ к информации для наших граждан.
Это я к тому, что и те, и другие хороши… у всех бревна в глазах есть.
Да, в этом случае есть дополнительные этапы, вроде компиляции в llvm биткод и трансляции его в javascript, зато действия по подготовке кода минимальны — нужно только написать простенькую обертку (никаких шаблонов на m4).
Да и там пол системы с нуля надо переделать, чтобы *nix-овые утлиты работали так, как задумано, а не как-то
через жопупо особенному.$strComputer = "." $objWMI = gwmi win32_computersystem" -computername $strComputer $objWMI.CurrentTimeZone = 207 $objWMI.Put()и
И скажите, как долго надо курить маны, чтобы дойти до такого решения.