вторник, 13 апреля 2010 г.

Экономия или скупость?

Лирическое вступление

Вот всегда было интересно, почему в одних конторах с обеспечением "железками" все нормально, а в других вечные проблемы. Имеется, ввиду следующее:

Вот работал я в организациях где к вопросу железа подходили ну довольно просто, в 3 этапа:
1.Со старта дают нормальный (достаточно мощный ПК)
2.В случае надобности, делают апгрейд в довольно короткие сроки (1-10 дней).
3.И сервера, как правило, работают на действительно серверных железках (а не хламе, который остался от прошлого апгрейда).

А вот бывают случаи противоположные. На проекте хронических дефицит ресурсов(железных) - ПК программистов слабенькие, билд серверу не хватает памяти для своего нормального функционирования и т.д. Запросы на добавление памяти(ну супер дорогой ресурс!) либо обрабатываются месяцами, либо на них забивают. И аргументы как всегда железные: «это дорого» и «сейчас нету средств».

Причем, то что я видел, это либо первый случай, либо второй. Так что бы сегодня так, а через месяц по другому практически не видел.

Появилась мысль, что нехватка оперативки и "черепаший" винчестер должны воровать не только нервы у разработчиков, но и деньги у организации. И появилась идея, прикинуть сколько это стоит? И стоит ли...? :)


Задача

Итак, условие задачи:

Есть программист. Есть некие ресурсоемкие операции (билд, деплой, старт и т.п.), которые повторяются за день довольно часто (10-20 раз). И есть 2 конфигурации ПК:
А – довольно не торопливая, и постоянно захлебывающаяся;
Б - немного усовершенствованная (ну предположим, добавили еще один HDD и +2ГБ к ОЗУ).
Задача: найти время, затраченное этим программистом на "ковыряние в носу"(yourtube, чай и т.д.) во время билдов. И найти величину, на которую это время сократится при переходе от конфигурации А к конфигурации Б.

Есть еще один момент: если процесс сборки/рестарта и т.п. занимает много времени, то возникает желание заняться чем либо другим, т.е. в это, самое время почитать блоги, попить чаю и т.д. И тут есть 2 момента:
1.Сбивается мысль (по умному – «Программист выходит из потока»).
2.Обычно "отвлекательные" мероприятия значительно дольше чем самый долгий процесс сборки (я бы сказал от 2 минут до 30).

И собственно говоря, результаты:
Замеры сборки и редеплоя реального проекта на реальном железе (организация второго типа - см. выше), показали следующие цифры:
А – тратится на ожидание окончания процесса от 1 до 3,5ч
Б - тратится, от 0,5 до 3,0 ч.
И если предположить, что в случае более быстрой системы отпадет необходимость в 2-х чаепитиях, то получаем время "пинания" - 1,5ч и 0,5ч соответственно.

Прикольно!?

Первое что поразило, это порядок цифр: по грубой прикидке, программист который (внимание!) хочет и старается в рабочее время только работать, может "профукать" до 4 часов (из 8-ми рабочих). А прибавим сюда еще "не хочет", "не выспался" или "засиделся в курилке"... т.е. реальная эффективность действительно получается от 20 до 40%.

Второе: сделав апгрейд примерно на 200уе, можно "спасти" около 1,5ч рабочего времени. И если этот программист получает, ну допустим, 1500 в мес, то эти "спасенные" 1,5 ч\день в денежном эквиваленте превращаются в около 280уе\мес на одного человека (а на проекте таких не 1 и даже не 2).

Выводы

К чему все это? К тому, что по сути организации, в которых программисты пытаются работать на довоенных (стареньких) ПК неявно теряют приличную сумму в месяц. В моем случае это почти 300 у.е.\мес на человека. Но при этом "у нас нету денег, мы бедные" или еще более смешной вариант "нам этого не нужно" :)

При этом цены на железки примерно вот такие:
HDD (~500GB из новой серии) - 50-100 уе
C2Q Q8300 (4 ядра) - ~150уе
И наконец, самое дорогое - память планка DDR2- 2GB - ~50уе.

И в результате вопрос: кто же, все таки, больше экономит? Тот кто делает апгрейды раз в 10 лет или тот, кто покупает мощные брендовые железки?

Комментариев нет:

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