Обоснование необходимости приобретения SSD для разработчиков

Добрый день, уважаемые хабраюзеры.

Данный пост ставит собой целью попытаться донести до менеджера проекта/руководства необходимость приобретения SSD для разработчиков.

image

Может показаться странным, но в большом количестве девелоперских компаний нет 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. Трудно было выбрать правильный хаб. Если посоветуете в какой хаб перепубликовать — сделаю.

Автор: alexus_ru

Источник

Оставить комментарий