Как определить количество вашей "медленной" машины разработки? - PullRequest
8 голосов
/ 24 марта 2010

(Пожалуйста, предоставьте вопрос, который дублирует этот вопрос. Я разочарован, что не смог его найти.)

Моя машина разработки "медленная". Я жду от этого "много".

Меня спросили лица, принимающие решения, которые хотят помочь честно и точно измерить это время. Как вы подсчитываете количество времени, которое вы тратите на ожидание на компьютере (во время компиляции, ожидания открытия приложений каждый день и т. Д.).

Есть ли программное обеспечение, которое эффективно сообщает о подобных вещах? Есть ли метрика ОС (что-то в I / O, частота смены файлов подкачки и т. Д. И т. Д.), Которая фиксирует и передает это особенно хорошо? Какой-то эталон, по которому вы бы порекомендовали мне тестировать?

РЕДАКТИРОВАТЬ: Я пишу C # (в основном ASP.NET).

Ответы [ 5 ]

2 голосов
/ 25 марта 2010

Вот одна метрика, которая может впечатлить некоторые взлеты: измерьте среднее время, необходимое для создания вашего приложения, и сколько раз вы делаете это в день. Например, у нас было ~ 100 сборок в день по 60 секунд каждая. Теперь измерьте среднее время сборки на предположительно более быстрой машине (скажем, 30 секунд на сборку).

На данный момент вы можете видеть, сколько времени вы сэкономите, чтобы получить «более быструю» машину. За разработчика, за день. Умножьте количество разработчиков на количество дней в месяце, и вы увидите, как это сочетается с добавлением в команду другого разработчика. Да, я знаю, есть и другие соображения при добавлении большего количества людей в команду, но это даст вам грубое сравнение, к которому могут относиться «старшие». Например: если бы у всех нас были более быстрые машины, мы бы тратили меньше времени на сборки, сравнимые с одним дополнительным разработчиком.

С другой стороны, вы должны предоставить точные оценки стоимости модернизации каждого компьютера.

Теперь, если вы можете, вы должны выполнить этот тип сравнения с несколькими «более быстрыми» компьютерами, чтобы определить их относительную производительность и, возможно, определить, какие узкие места вы столкнулись (ОЗУ против ЦП против ввода-вывода?).

Наконец, мое личное мнение состоит в том, что, хотя такой процесс и последующее обсуждение с заинтересованными сторонами происходит (и это может занять некоторое время), вы можете получить всех больше / больше наблюдателей. Это сравнительно дешевая модернизация (конечно, не такая дешевая, если вы выбираете 52-дюймовые ЖК-мониторы, верно?), А увеличение количества мониторов повышает производительность (кроме того, это также повышает моральный дух сотрудников, что, в свою очередь, повышает производительность).

НТН

1 голос
/ 25 марта 2010

Закройте FireFox, чтобы получить немного памяти. Добавьте ОЗУ. Мне очень помогло.

0 голосов
/ 24 марта 2010

Количественная оценка трудна, когда вам не с чем сравнивать. Если вашему устройству разработки потребуется 12 минут, чтобы скомпилировать проект из 100 000 строк кода без каких-либо других примеров, то вы не знаете, хорошо это или плохо. Может быть, 12 минут на 100 000 строк на самом деле хорошо?

Измерение этого не поможет вам и определенно не поможет лицам, принимающим решения. Рассматривать; «Да, босс, на компиляцию нашего проекта уходит в среднем двенадцать минут». Босс говорит; «Хорошо, это нормально?». Вы понятия не имеете.

Компьютерное железо дешево. Посмотрите на коробку для разработчиков и подумайте над тем, чтобы попросить лиц, принимающих решения, потратить на это немного денег, чтобы улучшить его производительность. Если вы компилируете в среднем 5 раз в день, а на компиляцию уходит в среднем 12 минут, это потерянный час каждый день - до 5 потерянных часов в неделю. Стоит потратить некоторое количество оперативной памяти или обновление процессора.

0 голосов
/ 24 марта 2010

Для меня медленная машина не снижает производительность так же, как неожиданное замедление - если машина компилирует все решение за 12 минут каждый раз, когда вы нажимаете клавишу F5, решение имеет какую-то проблему, а не машину. Кроме того, у меня нет проблем с 12 минутами, я могу встать, сделать перерыв. На самом деле хорошо сделать перерыв, когда вы знаете и знаете, как долго он будет продолжаться.

То, что я нашел наиболее производительным убийцей, - это программное обеспечение для совместной работы, которое запускает сканирование вирусов (или устанавливает обновления) по собственному желанию - сидеть и ждать - это задница.

0 голосов
/ 24 марта 2010

Зависит от вашей рабочей среды. Например. в Visual Studio (C ++, 2005) вы можете выполнять синхронизированные сборки, чтобы среда IDE выводила истекшее время после вывода обычной сборки.

...