-
1. Data: 2010-11-05 18:46:22
Temat: Hardware do dewelopingu
Od: "M.H." <m...@o...pl>
Witam,
rozważam modernizację komputera. Powiedzmy, że jego krytycznym
zastosowaniem będzie kompliacja/linkowanie, debugowanie i takie tam,
jednym słowem deweloping. I w związku z tym mam dylemat : jakie elementy
sprzętu są krytyczne. Wiem, że w zasadzie wszystkie (może oprócz karty
graficznej). Ale problem jest konkretny :
1. HDD nie będzie modernizowane, wydaje się że w tej chwili nie jest
wąskim gardłem. Obecnie to jakiś 640GB Samsung, całkiem przyzwoity.
2 Wyrzuceniu ulegnie : procesor (Athlon 64 2800), Płyta, RAM
(1GB/Dimm2), grafika (GeF5200@Agp). Jednym słowem staroć straszny.
3. Planuję wariant mocno budżetowy (do ~800zł). Czyli AMD.
I teraz - jaki wpływ na wydajność kompilacji mają poszczególne cechy
sprzętu, np:
a) Szybkość RAM - czy jest różnica między 1600 MHz a 1066 Mhz ?
W wielu benchmarkach wychodzi, że minimalna, a więc czy warto
przepłacać ? Z drugiej strony nie widziałem benchmarku opartym na
kompilacji (np boost::spirit ?) Owszem benchmarki kompilatorów tak, ale
nie sprzętu. A to właśnie zastosowanie komputera (kompilacja) jest chyba
rzadko testowanie w popularnych serwisach/gazetach.
A CLK ?
bo co do rozmiaru RAM - wiadomo. ważne, żeby wszystko się mieściło w
RAMie i system nie musiał swapować.
b) Cache procesora - jak ważny ? Chyba ważny, ale jakieś konkrety ?
No i czy L3 ? Znowu, w wielu testach wychodzi, że nie ma dużego
znaczenia. Ale ja mam konkretne zastosowanie - może tutaj jednak to jest
ważne ?
c) Ilość rdzeni. Wiadomo , więcej == lepiej, bo systemy budowania mogą
działać równolegle. A nawet chyba kompilator msvc2010 potrafi działać
wielowątkowo (ciekawe kiedy gcc się tego dorobi). Tyle, że rdzenie mają
swoją cenę, więc jest dylemat, czy np Athlon || X3 (tylko cache L2 512
kB/rdzeń),
czy Phenom || X2 ( L2 512/rdzeń + L3 6MB). Czy to jest realna
alternatywa ? Ten drugi jest znacznie droższy, ale nie wiem, czy będzie
wydajniejszy. A jeszcze jest problem rdzenie vs. GHz, ale powiedzmy, że
to wszystko będzie w granicach 3-3.2 GHz, OC raczej nie planuję.
Pozdrawiam,
M.H.
-
2. Data: 2010-11-05 19:25:15
Temat: Re: Hardware do dewelopingu
Od: Wojciech Jaczewski <w...@o...pl>
M.H. wrote:
> Witam,
> rozważam modernizację komputera. Powiedzmy, że jego krytycznym
> zastosowaniem będzie kompliacja/linkowanie, debugowanie i takie tam,
> jednym słowem deweloping. I w związku z tym mam dylemat : jakie elementy
> sprzętu są krytyczne. Wiem, że w zasadzie wszystkie (może oprócz karty
> graficznej).
W zasadzie żadne. Czekanie aż się program skompiluje/zlinkuje zajmuje dużo
mniej czasu niż samo przemyślenie, co ma się w programie znaleźć. To, że na
jednym komputerze skompiluje się 2 razy szybciej niż na drugim, niewiele
zmienia.
Ja osobiście przyjąłbym kryterium, że sprzęt nie powinien być zbyt
prądożerny - aby miał ciche chłodzenie.
-
3. Data: 2010-11-05 20:37:32
Temat: Re: Hardware do dewelopingu
Od: Jędrzej Dudkiewicz <j...@n...com>
On 11/05/2010 07:46 PM, M.H. wrote:
> Witam,
> rozważam modernizację komputera. Powiedzmy, że jego krytycznym
> zastosowaniem będzie kompliacja/linkowanie, debugowanie i takie tam,
> jednym słowem deweloping. I w związku z tym mam dylemat : jakie elementy
> sprzętu są krytyczne.
Moja strategia sprowadza się do maksymalizacji najpierw cache a potem
RAMu. Reszta nieistotna. Byle nie starsza niż 2 lata :)
JD
-
4. Data: 2010-11-05 20:53:14
Temat: Re: Hardware do dewelopingu
Od: "M.H." <m...@o...pl>
W dniu 2010-11-05 20:25, Wojciech Jaczewski pisze:
> M.H. wrote:
>
>> Witam,
>> rozważam modernizację komputera. Powiedzmy, że jego krytycznym
>> zastosowaniem będzie kompliacja/linkowanie, debugowanie i takie tam,
>> jednym słowem deweloping. I w związku z tym mam dylemat : jakie elementy
>> sprzętu są krytyczne. Wiem, że w zasadzie wszystkie (może oprócz karty
>> graficznej).
>
> W zasadzie żadne. Czekanie aż się program skompiluje/zlinkuje zajmuje dużo
> mniej czasu niż samo przemyślenie, co ma się w programie znaleźć.
W początkowej fazie projektu na pewno tak. Jednak pod koniec - kiedy
struktura jest już od dawna przemyślana (albo właśnie odkryliśmy, że
jest nieprzemyślana, ale już jest "po ptokach" i jedyne co możemy zrobić
to połatać to jakoś oraz wyciągnąć wnioski na przyszłość).
Otóż w tej dalszej fazie jest zazwyczaj sporo testów, rekompilacji,
debugowania.
Oczywiście, przyjmę z pokorą mentorskie pouczenia, że przy dobrze
zaprojektowanym programie, przemyślanych i przeprowadzonych unit
testach, i innych właściwie ustalonych i rygorystycznie przestrzeganych
regułach, to wszystko powinno gładko i bez bólu....
Właśnie nad tym pracuję. Ale póki co jest jak jest i szybka kompilacja
to jest to czego mi najbardziej brakuje.
Aha, nie zawsze kompiluję swój kod, więc jeśli ktoś inny wprowadzi
zmiany w jednym malutkim pliku nagłówkowym wciąganym do większości
plików w projekcie, to po kliknięci na build mogę sobie iść na kawę.
Albo poprzeglądać newsy... i tak godzina z głowy ;)
To, że na
> jednym komputerze skompiluje się 2 razy szybciej niż na drugim, niewiele
> zmienia.
Zmienia dużo - będę starał się pracować raczej na tym pierwszym.
> Ja osobiście przyjąłbym kryterium, że sprzęt nie powinien być zbyt
> prądożerny - aby miał ciche chłodzenie.
Nie zgadzam się z tą tezą. Wyższe wydatki na prąd zostają niezauważone,
albo przynajmniej nieskojarzone z modernizacją kompa. Zakup lepszego
sprzętu nie przejdzie prze domową debatę budżetową ;)
-
5. Data: 2010-11-05 20:55:55
Temat: Re: Hardware do dewelopingu
Od: "M.H." <m...@o...pl>
W dniu 2010-11-05 21:37, Jędrzej Dudkiewicz pisze:
> On 11/05/2010 07:46 PM, M.H. wrote:
>> Witam,
>> rozważam modernizację komputera. Powiedzmy, że jego krytycznym
>> zastosowaniem będzie kompliacja/linkowanie, debugowanie i takie tam,
>> jednym słowem deweloping. I w związku z tym mam dylemat : jakie elementy
>> sprzętu są krytyczne.
>
> Moja strategia sprowadza się do maksymalizacji najpierw cache a potem
> RAMu. Reszta nieistotna. Byle nie starsza niż 2 lata :)
>
> JD
A czy ta strategia została jakoś zweryfikowana, albo opiera się na
obiektywnych przesłankach ?
-
6. Data: 2010-11-06 05:59:49
Temat: Re: Hardware do dewelopingu
Od: Jacek <a...@o...pl>
Dnia Fri, 05 Nov 2010 21:55:55 +0100, M.H. napisał(a):
> W dniu 2010-11-05 21:37, Jędrzej Dudkiewicz pisze:
>> On 11/05/2010 07:46 PM, M.H. wrote:
>>> Witam,
>>> rozważam modernizację komputera. Powiedzmy, że jego krytycznym
>>> zastosowaniem będzie kompliacja/linkowanie, debugowanie i takie tam,
>>> jednym słowem deweloping. I w związku z tym mam dylemat : jakie elementy
>>> sprzętu są krytyczne.
>>
>> Moja strategia sprowadza się do maksymalizacji najpierw cache a potem
>> RAMu. Reszta nieistotna. Byle nie starsza niż 2 lata :)
>>
>> JD
> A czy ta strategia została jakoś zweryfikowana, albo opiera się na
> obiektywnych przesłankach ?
Obiektywnych?
Chyba raczej obiektowych;)
-
7. Data: 2010-11-06 06:35:35
Temat: Re: Hardware do dewelopingu
Od: Mariusz Marszałkowski <m...@g...com>
On 5 Lis, 20:25, Wojciech Jaczewski <w...@o...pl> wrote:
> M.H. wrote:
> > Witam,
> > rozważam modernizację komputera. Powiedzmy, że jego krytycznym
> > zastosowaniem będzie kompliacja/linkowanie, debugowanie i takie tam,
> > jednym słowem deweloping. I w związku z tym mam dylemat : jakie elementy
> > sprzętu są krytyczne. Wiem, że w zasadzie wszystkie (może oprócz karty
> > graficznej).
>
> W zasadzie żadne. Czekanie aż się program skompiluje/zlinkuje zajmuje dużo
> mniej czasu niż samo przemyślenie, co ma się w programie znaleźć. To, że na
Racja, ale np. QT nie udało mi się na laptopie skompilować pomimo 24h
oczekiwania, musiałem na mocniejszym pececie.
Pozdrawiam
-
8. Data: 2010-11-06 06:43:00
Temat: Re: Hardware do dewelopingu
Od: Mariusz Marszałkowski <m...@g...com>
On 5 Lis, 19:46, "M.H." <m...@o...pl> wrote:
> a) Szybkość RAM - czy jest różnica między 1600 MHz a 1066 Mhz ?
Kiedyś specjalnie wymieniłem wolniejszą pamięć na szybszą i
uruchomiłem
ten sam program na tym samym komputerze. Nie zauważyłem zupełnie
żadnej
różnicy w czasie wykonania. Sprawdzałem nie na kompilacji, ale na
kilku wersja
programu szachowego, chodziło o (pełne lub z cięciami) przeszukanie
drzewa
gry na zadana głębokość.
Pozdrawiam
-
9. Data: 2010-11-06 06:49:57
Temat: Re: Hardware do dewelopingu
Od: Mariusz Marszałkowski <m...@g...com>
On 5 Lis, 21:55, "M.H." <m...@o...pl> wrote:
> A czy ta strategia została jakoś zweryfikowana, albo opiera się na
> obiektywnych przesłankach ?
Sprawdź dwa algorytmy mnożenia macierzy. Jeden zwykły a w drugim
zastosuj wstępną transpozycje jednej z macierzy. W drugim procesor
będzie mógł przewidzieć dostęp do danych i umieści je w cache.
Źródła takich algorytmów są w archiwum grupy. Różnice w wydajności
są ogromne, nie pamiętam dokładnie jakie, coś mi się wydaje że
6-10razy.
Pozdrawiam
-
10. Data: 2010-11-06 08:36:20
Temat: Re: Hardware do dewelopingu
Od: "M.H." <m...@o...pl>
W dniu 2010-11-06 07:35, Mariusz Marszałkowski pisze:
> On 5 Lis, 20:25, Wojciech Jaczewski<w...@o...pl> wrote:
>> M.H. wrote:
>>> Witam,
>>> rozważam modernizację komputera. Powiedzmy, że jego krytycznym
>>> zastosowaniem będzie kompliacja/linkowanie, debugowanie i takie tam,
>>> jednym słowem deweloping. I w związku z tym mam dylemat : jakie elementy
>>> sprzętu są krytyczne. Wiem, że w zasadzie wszystkie (może oprócz karty
>>> graficznej).
>>
>> W zasadzie żadne. Czekanie aż się program skompiluje/zlinkuje zajmuje dużo
>> mniej czasu niż samo przemyślenie, co ma się w programie znaleźć. To, że na
> Racja, ale np. QT nie udało mi się na laptopie skompilować pomimo 24h
> oczekiwania, musiałem na mocniejszym pececie.
> Pozdrawiam
Otóż to, często trzeba kompilować obcy kod, czasem to prawdziwa kobyła -
jak Qt.A teraz weźcie pod uwagę, że tego typu pakiety mają wiele opcji
kompilacji, czasem trzeba przetestować kilka.