Как определить количество вашей "медленной" машины разработки?
(Пожалуйста, задайте вопрос, который дублирует этот вопрос. Я разочарован, что не смог его найти.)
Моя машина разработки "медленная". Я жду от этого "много".
Лица, принимающие решения, попросили меня помочь честно и точно измерить это время. Как вы определяете количество времени, которое вы тратите на ожидание на компьютере (во время компиляции, ожидания открытия приложений каждый день и т. Д.).
Есть ли программное обеспечение, которое эффективно сообщает о таких вещах? Есть ли метрика ОС (что-то в I/O, частота смены файлов подкачки и т. Д. И т. Д.), Которая фиксирует и передает это особенно хорошо? Какой-то эталонный тест, который вы бы порекомендовали мне проверить?
РЕДАКТИРОВАТЬ: я пишу C# (в основном ASP.NET).
5 ответов
Вот одна метрика, которая может впечатлить некоторые высокие показатели: измерьте среднее время, необходимое для создания вашего приложения, и сколько раз вы делаете это в день. Например, у нас было ~100 сборок в день по 60 секунд каждая. Теперь измерьте среднее время сборки на предположительно более быстрой машине (скажем, 30 секунд на сборку).
На этом этапе вы можете увидеть, сколько времени вам понадобится, чтобы иметь "более быструю" машину. За разработчика, за день. Умножьте на количество разработчиков и количество дней в месяце, и вы увидите, как это сочетается с добавлением в команду другого разработчика. Да, я знаю, есть и другие соображения при добавлении большего количества людей в команду, но это даст вам грубое сравнение, к которому могут относиться "старшие". Например: если бы у всех нас были более быстрые машины, мы бы тратили меньше времени на сборки, сравнимые с одним дополнительным разработчиком.
С другой стороны, вы должны предоставить хорошие оценки стоимости модернизации каждого компьютера.
Теперь, если вы можете, вы должны выполнить этот тип сравнения с несколькими "более быстрыми" компьютерами, чтобы определить их относительную производительность и, возможно, определить, с какими узкими местами вы сталкиваетесь (ОЗУ против ЦП против ввода-вывода?).
Наконец, мое личное мнение состоит в том, что, хотя такой процесс и последующее обсуждение с заинтересованными сторонами имеют место (и это может занять некоторое время), вы можете получить всех больше / больше мониторов. Это сравнительно дешевая модернизация (конечно, не такая дешевая, если вы выбираете 52-дюймовые ЖК-мониторы, верно?), И увеличение количества мониторов действительно повышает производительность (кроме того, это также повышает моральный дух сотрудников, что, в свою очередь, повышает производительность).
НТН
Закройте FireFox, чтобы получить немного памяти. Добавьте ОЗУ. Мне очень помогло.
Зависит от вашей рабочей среды. Например, в Visual Studio (C++, 2005) вы можете выполнять синхронизированные сборки, чтобы среда IDE выводила истекшее время после вывода обычной сборки.
На мой взгляд, медленная машина не снижает производительность, как неожиданное замедление - если машина компилирует все решение за 12 минут каждый раз, когда вы нажимаете клавишу F5, у решения есть какая-то проблема, а не машина. Кроме того, у меня нет проблем с 12 минутами, я могу встать, сделать перерыв. На самом деле хорошо сделать перерыв, когда вы знаете и контролируете, как долго он будет продолжаться.
Больше всего я обнаружил, что это программное обеспечение для совместной работы, которое запускает сканирование вирусов (или устанавливает обновления) по собственному желанию - сидеть и ждать - это мучительная боль.
Количественная оценка трудна, когда вам не с чем сравнивать. Если вашему устройству разработки потребуется 12 минут, чтобы скомпилировать проект из 100 000 строк кода без каких-либо других примеров, то вы не сможете понять, хорошо это или плохо. Может быть, 12 минут на 100 000 строк на самом деле хорошо?
Измерение этого не поможет вам и, конечно, не поможет вашим лицам, принимающим решения. Рассматривать; "Да, босс, на компиляцию нашего проекта уходит в среднем двенадцать минут". Босс говорит; "Хорошо, это нормально?". У тебя нет идей.
Компьютерное оборудование дешево. Посмотрите на коробку разработчика и подумайте над тем, чтобы попросить лиц, принимающих решения, потратить на это немного денег, чтобы улучшить его производительность. Если вы компилируете в среднем 5 раз в день, а на компиляцию уходит в среднем 12 минут, это потерянный час каждый день - до 5 потерянных часов в неделю. Стоит потратить некоторое количество оперативной памяти или обновление процессора.