Spørsmål:
Hvilket ville utgjøre en større forskjell? Ekstra CPU eller RAM?
TOPCOD3R
2015-10-27 15:10:24 UTC
view on stackexchange narkive permalink

Jeg bygger en PC spesielt for programmering. Jeg bruker hovedsakelig Android Studio og Eclipse som begge er ganske tunge programmer. Dette er grunnen til at jeg ønsker å få en bedre CPU / mer RAM. Hvilket av følgende vil utgjøre en større forskjell i ytelse, og hva synes du er mer verdt det? For øyeblikket, for å passe budsjettet mitt, kan jeg oppgradere enten CPU eller RAM, og det er grunnen til at jeg trenger litt hjelp til å bestemme hvilken som vil være til nytte for meg.

Intel Core i5 Quad Core i5 - 6600K (3,5 GHz) 6MB Cache -> Intel Core i7 Quad Core i7 - 6700 (3,4 GHz) 8 MB Cache.

ELLER

16 GB HyperX Fury DDR4 2666 MHz (2 x 8) -> 32 GB HyperX Fury DDR4 2666 MHz (4 x 8)

Hvilken vil du anbefale å oppgradere?

Jeg vil også legge til at jeg skal bruke en Samsung 850 EVO SSD.

Jeg vil anbefale å få en SSD i stedet for mer RAM eller en raskere CPU. Etter et tidspunkt (virkelig svak Intel Atom-CPU eller 2 GB RAM) blir den virkelige flaskehalsen IO-operasjoner per sekund på harddisken.
Hva er din nåværende minnebruk nå på den verste / høyeste belastningen? Er det til og med nær 16 GB? Hvis ikke, ville jeg ikke bekymret meg for mye for det. Hva med kompileringstiden din? Er det noen sekunder, eller er det noen minutter? Kompileringstid er hovedsakelig avhengig av CPU. Igjen, alt kommer ned til din bruk som James uttalte.
16 GB burde være nok med mindre du kjører 5+ forekomster av hver redaktør. Her er sammenbruddet: Hvis redaktørene / datamaskinen din kjører sakte, trenger du sannsynligvis mer ram. Hvis kompileringen ikke er rask nok, må CPU / HDD oppgraderes. Når det gjelder programmering, vil det sannsynligvis være mer fordelaktig å ha et høyere kjernetall enn prosessorhastighet hvis du bruker kompilering med flere tråder (for eksempel make -j).
For å finne ut om du har lite RAM eller CPU, ta en titt på hvor mye av begge prosessene dine som bruker via oppgavebehandling eller prosessutforsker (windows).
For øyeblikket viser oppgavelederen min at jeg bruker 5,2 GB RAM ut av min nåværende tilgjengelige 8, selv om jeg ikke kan avbilde dette slik Android Studio stadig henger og generelt er veldig tregt.
Ikke forsøm den nylig utgitte [Xeon E3-1230 v5] (http://ark.intel.com/products/88182/Intel-Xeon-Processor-E3-1230-v5-8M-Cache-3_40-GHz) - all ytelse til i7 til en pris halvveis mellom i5 og i7. Hvis du trenger iGPU, går du med [Xeon E3-1245 v5] (http://ark.intel.com/products/88173/Intel-Xeon-Processor-E3-1245-v5-8M-Cache-3_50-GHz ), som har høyere spesifikasjoner og fortsatt lavere pris enn i7.
Det skal bemerkes at jeg lykkelig har brukt en E3-1230 v2 i noen år nå, passivt avkjølt, undervoltet med lagerhastigheter, DDR3L ECC RAM og absolutt ingen maskinvareproblemer noensinne. Jeg forventer at Skylake-generasjonen vil være mer effektiv og ikke mindre pålitelig.
http://stackoverflow.com/questions/4533116/minimum-hardware-requirements-for-android-development og http://stackoverflow.com/questions/16732021/why-emulator-is-very-slow-in-android- studio ser ut til å være relevante avlesninger
RAM er vanligvis raskere enn noen harddisk. Så først maksimerer du minnet ditt - den faktiske hastigheten er mindre viktig - og oppgrader deretter en disk som ikke er SSD til SSD.
Dette kommer også til å avhenge av andre faktorer. For eksempel, hvis du har SSD og du aldri bruker din eksisterende RAM fullt ut mens du utvikler deg, vil CPU være det beste alternativet. Hvis du har mange IDE-er åpne eller programmet ditt bruker mye RAM, slik at du sjelden har noe ledig for hurtigbufring, vil RAM være det beste alternativet. De fleste andre scenarier vil være et sted i mellom.
En svar:
Kaslai
2015-10-27 21:19:14 UTC
view on stackexchange narkive permalink

I nesten alle tilfeller, med en skikkelig, moderne kompilator, vil kompileringshastigheten øke nesten lineært med antall maskinvaretråder på systemet ditt. Når det gjelder Microsoft-kompilatorer, vil det til og med være bra å kjøre med 8 GB, da de er ganske gjerrige med minnetildeling. Imidlertid har jeg på * nix avkortet til og med 16 GB med parallellmerke og GCC.

Moderne CPU-arkitekturer nærmer seg topp ytelse, så selv tre år gamle topp-CPUer vil fremdeles utføre ganske tilstrekkelig sammenlignet med moderne moderne CPUer. På den annen side vil mer RAM alltid ha en åpenbar og lineær fordel.

For å løse dine spesifikke problemer, derimot:

Av de to CPUene du spesifiserte, er forskjellen i referanseindekser ganske marginal, med den eneste virkelige store forskjellen som er strømforbruket, ettersom i7 er vurdert til å bruke omtrent 2/3 strøm. RAM, derimot, kan være veldig nyttig, spesielt i tilfelle Java der JVM bare elsker å sluke ting.

For å gi deg en ide ( Kilde ):

  • i7-6700 har samme hastighet som i5-6600k i enkelttrådede applikasjoner (eller i det minste innen statistisk feil).
  • i7-6700 er 10-15% raskere i full flertrådet arbeidsbelastning enn i5-6600k.
  • i7-6700 har litt bedre minnetilgangstid enn i5-6600k.

Personlig vil jeg bare gå i5 og 16 GB, men hvis du må oppgradere en eller den andre, gå etter RAM.

Mer RAM har en annen fordel: bufferbuffer kan lagre flere filer for deg. Det handler ikke bare om å gå over kapasitet og føre til bytte.
@ArekBulski Dessuten betyr mer minne at du kan skape mer plass til en enkel RAM-disk. Å bruke (for eksempel) 512MB til å lage en disk for midlertidige filer kan bidra til å øke levetiden til SSD-en. Siden disse skrivene ikke går til SSD, vil SSD være mer ledig for diskintensive oppgaver, mer ledig plass og (gjenta) som en bivirkning, det vil vare lenger. Men bruk en disponibel RAM-disk, opprettet ved oppstart.


Denne spørsmålet ble automatisk oversatt fra engelsk.Det opprinnelige innholdet er tilgjengelig på stackexchange, som vi takker for cc by-sa 3.0-lisensen den distribueres under.
Loading...