Данный пост ставит собой целью попытаться донести до менеджера проекта/руководства необходимость приобретения SSD для разработчиков.
Может показаться странным, но в большом количестве девелоперских компаний нет SSD, и руководство не понимает, зачем они нужны, эта лишняя трата денег.
Я решил написать эту статью в то время, пока мой проект компилировался. И он все еще компилировался, когда я написал треть.
Мозг и компьютер
Компьютер следует воспринимать не как нечто великое, достойное поклонения, перед которым нужно стоять на коленях, когда он выполняет вычисления. Нет, это время прошло вместе с ламповыми ЭВМ середины XX века. Сейчас компьютер — это помощник, инструмент, отвертка, которая должна быстро и своевременно помогать. Работы выполняет пользователь, программист, и этой работе оборудование должно помогать, а не наоборот.
Во время работы программиста в его мозгу летает множество идей, мыслей, вариантов. Программисту требуется быстро их проверять и реализовывать. Для этого компьютер должен четко и быстро реагировать на действия пользователя. Даже 30 секундная задержка, при открытии браузера для гуглинга какого-либо технического вопроса, долгий запуск утилиты системы контроля версий, долгое открытие проекта и уж тем более компилирование, при котором, к тому же, компьютер начинает сильно тормозить, сбивает с ритма работы. Приходится учиться думать медленно, записывать на листочек мысли, потому что через 5 минут, когда ты получишь техническую возможность от своего электронного покемона Слоупок реализовать мысль, уже становится поздно. Мозг уже занят другим. И, самое страшное, если мозг теряет поток (http://habrahabr.ru/post/103572/). Сейчас компилирование Awad с тремя сотнями проектов в решении — заняло около 10 минут. Это потеря потока. Мозг уже занят другими глобальными задачами, поиском вселенской справедливости или другой багой. И требуется еще 10 минут, помимо времени на завершение текущего процесса мозга, чтобы вернуться в поток. Это ужасно. На одном проекте, для тестирования изменений в коде, надо было потратить до 20 минут на развёртывание. Там были жуткие и долгие кодогенераторы, и для работы измеренной логики, генераторы должны были отработать. Так вот, та 20 минутная задержка превращалась в 40 минутную. Даже после 5-10 минутного компилирования уже можно забыть, зачем же ты это делал. В состоянии технического поиска и тестирования, необходимо быстро проверять разные возможности, и время между задержками на эти проверки, должно быть минимальным.
Быстрый компьютер, который удовлетворяет желаниям программиста, является очень важной вещью. Так же как и гоночный автомобиль, он должен быть быстрым, позволяя реализовать весь потенциал гонщика, а не задерживать его. За быстрым ПК комфортно работать, физически экономится время, и самое главное, не начинается диссонанс с работой головы, не происходит потеря потока.
Скорость работы ПК
Очевидно, что на производительность влияет множество деталей. С центральными процессорами все понятно, они все быстрей и все многоядерней, и загружены они будут только при компилировании. 3D дизайнеры и математики у нас расчеты не ведут. Память поможет большему количеству программ работать совместно. А студия прожорлива на память. Скорость памяти тоже важна. Но следует понимать, что обратиться к оперативной памяти компьютеру, все равно, что сходить в библиотеку человеку. В зависимости от технических характеристик, эта библиотека либо в соседней комнате, либо в соседнем доме. А вот получить данные с устройства постоянного хранения — равносильно заказать книгу на Amazon с доставкой ее по океану на гребной галере, а потом еще и почтой России на телеге, запряжённой старой клячей. Но сейчас происходит очень важная революция в системах хранения данных. К нам приходит SSD, это очень важная веха, наравне, а то и значительнее, чем появление многоядерных процессоров.
SSD — это самолет. Это самолет, в котором сидит курьер FedEX, который с парашютом спрыгнет прямо над твоим домой. SSD дает 5 кратное ускорение при чтении больших файлов. Но это неинтересно. Мы работает с тысячами мелких файлов с кодами, конфигами, и студия все это компилирует. А в сегменте мелких файлов скорость чтения SSD превосходит HDD в 50-100 раз. Это означает компилирование раз в 10 быстрей, как минимум! И общий прирост производительности, гораздо более быстрый запуск системы, своевременную реакцию системы на действия пользователя, готовность системы выполнять требования программиста. SSD даст, условно говоря, 10 кратный прирост производительности; замена же памяти, процессоров даст двух кратный. Вложить в SSD, все равно, что вложить в платину в 18 веке, когда они была дешевле меди. Результат много превосходит затраты. Но об этом в следующей главе.
Экономическое обоснование
Попробуем рассчитать выгодность SSD
Требуется SSD со 120GB – это хватит на систему, проекты и резерв в ~40% свободного места, нужный для полной эффективности накопителя.
Исходные данные
- Произвольный сферический SSD на120GB 4000 р.
- Сферический программист в вакууме с низкой зарплатой в месяц 70000 р.
- Продолжительность рабочего месяца 176 ч.
- Расходы компании на программиста, включая ЕСН (30%) ~100000 р.
- Стоимость часа программиста 570 р.
- Среднее число рабочих дней в месяце 23 дня
Прикинем потери времени программиста в день.
Предположим активный кодинг, 4 компиляции проекта в день
- Время компиляции 10 минут
- Простой из-за долгой загрузки (время на полыни запуск системы и софта – 7 минут, с SSD 2 минуты) 5 минут
- Простой из-за общих тормозов сложно оценит 30 минут
Посчитаем потери времени
- 4 компиляции 40 минут
- 4 потери потока 40 минут
- Загрузка 5 минут
- Тормоза 30 минут
Итого 115 минут. Предположим погрешность в +-50% и предположим, что мы переоценили потери и ошиблись в большую сторону. Предположим общий простой в 1 час в день.
Итого 23 часа в месяц. Это 13110 рублей. Это 3,2775 SSD в месяц.
Таким образом, покупка SSD один раз может принести уменьшение убытков на простои вследствие прироста производительности на 13110 рублей в месяц.
Заключение
Покупка SSD повысит производительность программистов и общую удовлетворенность от работы. Экономический эффект многократно превысит стоимость SSD.
p.s. Трудно было выбрать правильный хаб. Если посоветуете в какой хаб перепубликовать — сделаю.
ссылка на оригинал статьи http://habrahabr.ru/post/188360/
Добавить комментарий