Czy ktoś wykonuje testy sprzętowe podczas kompilowania kodu? [Zamknięte]


21

Widziałem wiele witryn, które porównują nowy sprzęt pod względem wydajności gier, kompresują niektóre pliki, kodują filmy lub cokolwiek innego. Czy są jakieś, które testują wpływ nowego sprzętu (takiego jak dyski SSD, nowe procesory, prędkości pamięci RAM itp.) Na prędkości kompilacji i łącza, Linux lub Windows?

Naprawdę dobrze byłoby dowiedzieć się, co najbardziej liczyło się dla szybkości kompilacji, i być w stanie skupić się na tym, zamiast po prostu ekstrapolować z innych testów porównawczych.


Myślę, że należy to do SuperUser.
Mahmoud Hossam

2
@Mahmoud Hossam: To mieszany temat, kompilacja jest zajęciem intensywnie programistycznym, podczas gdy testy sprzętowe są zdecydowanie innym terytorium.
Orbling

@ Dobrze też, nie pyta, czy powinien skompilować X czy Y, pyta, czy ludzie używają kompilacji w ogóle do robienia testów porównawczych.
Mahmoud Hossam


1
Tutaj jest test porównawczy procesora oparty na czasach kompilacji jądra Linux: openbenchmarking.org/showdown/pts/build-linux-kernel
sjakobi

Odpowiedzi:


4

Zrobiłem to przez chwilę - patrz tutaj i tutaj .

W tym czasie pracowałem nad hackami GTK + i X11 dla dystrybucji Linuksa na telefony komórkowe i za każdym razem, gdy dotknąłem czegoś na tak niskim poziomie, powodowało to przebudowę wszelkiego rodzaju rzeczy. Jeden z moich kolegów nigdy nie ukończył kompilacji, ponieważ na komputerze dostarczonym ze standardowymi opcjami kompilacji zajęło to pięć godzin.

W domu siedziałem szalony sprzęt, więc na niektórych komputerach testowałem, podczas gdy na innych kodowałem, a wyniki można zobaczyć pod linkami.

W przypadku tego, co robiliśmy na Ubuntu, kiedy zmaksymalizowałem wykorzystanie procesora - co możesz zrobić naprawdę łatwo za pomocą argumentu -j - wąskie gardło wydawało się być dyskiem.

Ale potem firma miała duże zwolnienia, więc wyszłam za drzwi i nie dokończyłam tego wszystkiego. Miałem też dużo danych i interpretacji, których nie opublikowałem na tym blogu.


Szkoda zbudować go z dwoma szczegółowymi postami i przestają. Czy nadal masz wszystkie te dane? W każdym razie bardzo interesujące byłoby zobaczenie niektórych postów / odpowiedzi na blogu z niektórymi wnioskami z tego, co znalazłeś.
Hugo,

@ Hugo: Nie, obawiam się, że nie - pierwotne dane już dawno minęły. Ale w zasadzie wymyśliłem, że dla systemów (1-8 rdzeni procesora) i kodu źródłowego (jądro Linuksa), które testowałem, najszybsze czasy kompilacji miały miejsce, gdy opcja -j była 1,5 razy większa niż liczba rdzeni, gdzie -j = 2 jest najlepsze dla jednego rdzenia. Poniżej systemy były powiązane z procesorem, a ponadto były związane z wejściem / wyjściem. To interesujące pytanie - może powinienem kiedyś podjąć to pytanie ponownie.
Bob Murphy

0

Najpierw na mojej liście życzeń jest dysk SSD. Nie będzie to miało wielkiego wpływu na czas kompilacji, ale otwieranie aplikacji staje się drastycznie szybsze (IDE, PhotoShop, ETC). http://joelonsoftware.com/items/2009/03/27.html

Największym czynnikiem czasu kompilacji będzie procesor. Używanie tego do testów porównawczych http://www.cpubenchmark.net/ jest całkiem bezpieczne .


1
Z drugiej strony wiele zależy od łańcucha kompilacji. Jeśli Twój łańcuch kompilacji używa tylko jednego wątku do kompilacji na procesorze wielordzeniowym, wielordzeniowym, a nawet wielowątkowym, tracisz szansę na ogromne zyski. Zwykły test porównawczy procesora tego nie pokaże, a test porównawczy kompilacji byłby dobry tylko dla danego łańcucha narzędzi.
asoundmove

2
W rzeczywistości odkryłem eksperymentalnie, że po wykonaniu kompilacji równoległej wąskim gardłem jest dysk. W granicach rozsądku lepiej jest mieć wolniejszy procesor i szybszy dysk niż odwrotnie.
Bob Murphy,

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.