Кто-нибудь делает аппаратные тесты при компиляции кода? [закрыто]

21

Я видел множество сайтов, которые оценивают новое оборудование по производительности в играх, архивированию некоторых файлов, кодированию фильмов или тому подобному. Существуют ли какие-либо тесты, влияющие на новое оборудование (например, твердотельные накопители, новые процессоры, скорости ОЗУ или что-то еще) на скорости компиляции и компоновки, в Linux или Windows?

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

Colen
источник
Я думаю, что это принадлежит SuperUser.
Махмуд Хоссам
2
@Mahmoud Hossam: В некотором роде смешанная тема, компиляция - это занятие исключительно для программистов, в то время как тесты аппаратного обеспечения - это определенно другая территория.
Orbling
@ Ладно, он не спрашивает, должен ли он скомпилировать X или Y, он спрашивает, используют ли люди компиляцию вообще для выполнения тестов.
Махмуд Хоссам
1
я сделал немного kokizzu.blogspot.co.id/2015/02/…
Kokizzu
1
Здесь тест производительности процессора, основанный на времени компиляции ядра Linux: openbenchmarking.org/showdown/pts/build-linux-kernel
sjakobi

Ответы:

4

Я делал это некоторое время - смотрите здесь и здесь .

В то время я работал над взломами GTK + и X11 для дистрибутива сотовых телефонов Linux, и каждый раз, когда я касался чего-то на таком низком уровне, это вызывало перестройку всех видов вещей. Один из моих коллег так и не выполнил полную сборку, потому что на компьютере, поставляемом компанией со стандартными опциями компиляции, это заняло пять часов.

У меня дома сидели разные сумасшедшие аппаратные средства, поэтому я запускал тесты на некоторых машинах, а на других программировал, и вы можете увидеть результаты по ссылкам.

Что касается того, что мы делали в Ubuntu, то после того, как я максимально увеличил загрузку ЦП - что вы можете действительно легко сделать с помощью аргумента -j, узким местом стало диск.

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

Боб Мерфи
источник
Стыдно строить это с двумя подробными постами и их останавливать. У вас все еще есть все эти данные? В любом случае, было бы очень интересно увидеть некоторые посты / ответы в блоге с некоторыми выводами из того, что вы нашли.
Хьюго
@Хьюго: Нет, я боюсь, что нет - исходные данные давно ушли. Но в основном я придумал, что для систем (1-8 ядер ЦП) и исходного кода (ядро Linux), которые я тестировал, самые быстрые времена сборки были, когда параметр -j был в 1,5 раза больше ядер, с -j = 2 лучше всего подходит для одного ядра. Ниже системы были связаны с процессором, а выше - с вводом / выводом. Это интересный вопрос - может быть, мне стоит снова заняться этим когда-нибудь.
Боб Мерфи
0

Сначала в моем списке пожеланий твердотельный диск. Это не окажет большого влияния на время компиляции, но открытие приложений становится значительно быстрее (IDE, PhotoShop, ETC). http://joelonsoftware.com/items/2009/03/27.html

Самым большим фактором для времени компиляции будет процессор. Вы довольно безопасно используете это для теста http://www.cpubenchmark.net/ .

Evan
источник
1
Опять же, многое зависит от вашей цепочки сборки. Если ваша цепочка сборки использует только один поток для компиляции на многопроцессорном, многоядерном или даже многопоточном процессоре, вы теряете возможность для огромного выигрыша. Простой тест CPU не показывает этого, а тест компиляции будет полезен только для данного набора инструментов.
Asoundmove
2
На самом деле, я обнаружил экспериментально, что когда вы выполняете параллельную компиляцию, узким местом становится ваш диск. В пределах разумного, вам лучше с более медленным процессором и более быстрым диском, чем наоборот.
Боб Мерфи