unitate de memorie RAM pentru compilarea - există un astfel de lucru?

voturi
49

Un răspuns ( a se vedea mai jos) , la una din întrebările aicipe Stack Overflow midat o idee pentru o mare bucata mica de software care ar putea fi foarte valoros pentru codoare peste tot.

Sunt imaginez software-ul unitate de memorie RAM, dar cu o singură diferență crucială - ea ar reflecta un dosar real de pe hard-disk. Mai precis - directorul care conține proiectul Eu sunt în prezent lucrează la. În acest fel orice construiește ar fi aproape instantanee (sau cel puțin câteva ordine de mărime mai rapid). Unitatea RAM va sincroniza conținutul său cu unitatea de disc în fundal folosind numai resurse inactiv.

O căutare rapidă Google a arătat nimic, dar poate că pur și simplu nu știu cum să Google. Poate că cineva știe de astfel de software-ul? De preferință taxele libere, dar rezonabile ar putea fi prea OK.

Adăugat: Unele soluții au fost sugerate pe care am aruncat chiar de la început. Ei ar fi (in ordine):

  • Cumpara o unitate de disc mai rapid hard ( SSD poate sau 10K RPM). Nu vreau o soluție hardware. Nu numai software - ul are potențialul de a fi mai ieftin, dar poate fi utilizat și în medii în cazul în care modificările de hardware ar fi nedorita daca nu imposibil (freeware, cineva?) - să zicem, la birou.
  • Să OS / HDD face cache - știe mai bine cum să folosească RAM - ul liber. OS / HDD au algoritmi cache generice ca memoria cache totul și să încerce să prezică care datele vor fi cele mai necesare în viitor. Ei nu au nici o idee că pentru mine prioritatea este dosarul meu de proiect. Și , după cum știm cu toții destul de bine - ei nu într - adevăr cache de mult , oricum. ;)
  • Există o mulțime de unități RAM în jurul; utilizați una dintre acestea. Ne pare rău, că ar fi nesăbuit. Am nevoie de datele să fie sincronizate cu HDD - ul ori de câte ori există un pic de timp liber. În cazul unei pene de curent am putut suporta pierde ultimele cinci minute de muncă, dar nu totul de la ultima mea checkin.

Adăugat 2: O idee care a venit - utilizați o unitate normală RAM , plus un sincronizator dosar de fond (dar eu spun de fundal ). Există vreun astfel de lucru?

Adăugat 3: Interesant. Tocmai am încercat o unitate de memorie RAM simplu la locul de muncă. Timpul reconstrui picături de la ~ 14 secunde până la ~ 7 secunde (nu -i rău), dar incrementale construi este încă la ~ 5 secunde - la fel ca pe HDD. Orice idei de ce? Se folosește aspnet_compilerși aspnet_merge. Poate că fac ceva cu alte fișiere temporare în altă parte?

Adăugat 4: Oh, frumos nou set de răspunsuri! :) OK, am un pic mai multe informatii pentru toti cei care te naysayers. :)

Unul dintre principalele motive pentru această idee nu este software - ul de mai sus-menționat (14 secunde construi timp), dar un alt unul care nu am avea acces la momentul respectiv . Această altă aplicație are o bază de cod de 100 MB, și plin construi sale durează aproximativ 5 minute. Ah , da, este în Delphi 5 , astfel încât compilatorul nu este prea avansat. :) Punerea sursa pe o unitate de memorie RAM a rezultat într - o mare diferență. Am luat -o de mai jos un minut, cred. N - am măsurat. Deci , pentru toți cei care spun că sistemul de operare poate cache lucruri mai bine - mi - ar implor să difere.

Întrebare înrudite:

disc de memorie RAM pentru viteza de până IDE

Notă cu privire la primul link: Întrebarea la care face legătura a fost eliminată , deoarece a fost un duplicat. Ea a întrebat:

Ce faci în timpul compilării codul lui?

Iar răspunsul lui Dmitri Nesteruk la care am fost legat:

Am compila aproape instantaneu. Parțial din cauza proiectelor mele fiind mici, în parte datorită utilizării de discuri RAM.

Întrebat 09/12/2008 la 22:11
sursa de către utilizator
În alte limbi...                            


18 răspunsuri

voturi
17

În Linux (niciodată nu te -a menționat pe care sistemul de operare ești, așa că acest lucru ar putea fi relevante) puteți crea dispozitive bloc de memorie RAM și montați - le ca orice alt dispozitiv bloc (care este, un HDD).

Apoi, puteți crea script-uri care copiază la și de la această unitate la pornire / oprire, precum și periodic.

De exemplu, ai putea configura astfel încât ați avut ~/codeși ~/code-real. Blocul de memorie RAM este montat la ~/codela pornire, și apoi totul , de la ~/code-real(care se află pe hard disk - ul standard) devine copiat. La oprire , totul ar fi copiat ( rsync d“ar fi mai rapid) înapoi de ~/codela ~/code-real. De asemenea , v - ar dori , probabil , ca script să ruleze periodic, astfel încât să nu a pierdut mult de lucru , în cazul unei pene de curent, etc.

Nu mai fac asta (am folosit -o pentru Opera mai , atunci când 9.5 beta a fost lent, nu este nevoie).

Iată cum de a crea un disc de memorie RAM în Linux.

Publicat 09/12/2008 la 23:58
sursa de către utilizator

voturi
15

Sunt surprins de cât de mulți oameni sugerează că sistemul de operare poate face o treabă mai bună la imaginind nevoile dvs. de cache decât poți, în acest caz, de specialitate. În timp ce eu nu am făcut acest lucru pentru compilarea, am făcut-o pentru procese similare și am ajuns, folosind un disc de memorie RAM cu scripturi care sincronizarea automată.

În acest caz, cred că aș merge cu un sistem modern de control al sursei. La fiecare compilați l-ar verifica în codul sursă (de-a lungul o ramură experimentală, dacă este necesar), în mod automat, astfel încât fiecare compilarii ar avea ca rezultat datele fiind salvate în afara.

Pentru a începe dezvoltarea, porniți discul RAM și trageți linia de bază curentă. Faceți editare, compilare, editare, compilare, etc - toate acestea în timp ce modificările sunt salvate pentru tine.

Efectuați verificarea finală în momentul fericit, și nici măcar nu trebuie să implice unitatea de hard disk regulat.

Dar există sincronizatoarele de fundal, care va automatiza lucruri - problema este că acestea nu vor fi optimizate pentru programarea fie și ar putea avea nevoie să facă și directorul de fișiere complete scanări, ocazional, pentru a prinde modificări. Un sistem de control al codului sursă este proiectat exact pentru acest scop, asa ca ar fi probabil deasupra capului mai mici, chiar dacă există în configurarea construi.

Rețineți că o sarcină de sincronizare de fond, în cazul unei pene de curent, este nedefinit. Te - ar sfârși prin a avea să dau seama ce a fost salvat și ceea ce nu a fost salvat , dacă lucrurile au mers prost. Cu un punct definit salva (la fiecare compilare, sau forțată de mână) ai avea o idee destul de bine că a fost cel puțin într - o stare în care ați crezut că ați putea compila. Utilizați o VCS și vă puteți compara cu ușurință la codul anterior și a vedea ce modificările pe care le - ați aplicat deja.

Publicat 27/03/2009 la 05:03
sursa de către utilizator

voturi
4

A se vedea Urgentarea emerge cu tmpfs ( Gentoo Linux wiki).

Accelerarea Întocmește utilizând unitățile RAM sub Gentoo a fost obiectul unui modul în care-a scris multe eoni în urmă. Acesta oferă un exemplu concret de ceea ce a fost făcut. Esența este că toate sursă și de a construi fișier intermediar sunt redirecționate către un disc RAM pentru compilare, în timp ce fișierele binare finale sunt direcționate către unitatea hard disk pentru instalare.

De asemenea, vă recomandăm explorarea menținerea sursei de pe hard disk, dar git pushcele mai recente modificări sursă la un respository clona care se află pe discul RAM. Compilați clona. Utilizați script - ul preferat pentru a copia fișierele binare create.

Sper ca te ajuta.

Publicat 10/12/2008 la 01:28
sursa de către utilizator

voturi
3

Utilizați https://wiki.archlinux.org/index.php/Ramdisk pentru a face discul RAM.

Apoi am scris aceste script - uri pentru a muta directoare la și de pe disc RAM. Backup este făcută într - un tar fișier înainte de a trece în discul RAM. Avantajul de a face în acest fel este faptul că drumul rămâne același, astfel încât toate fișierele de configurare nu este nevoie să se schimbe. Când ați terminat, utilizați uramdirpentru a aduce înapoi pe disc.

Editare: Adăugat cod C , care va rula orice comanda este dat pe un interval în fundal. Eu - l trimit tarcu --updateactualizarea arhivei în cazul în care orice modificări.

Cred că această soluție generală bate a face o soluție unică la ceva foarte simplu. PUP

Asigurați-vă că vă schimbați calea către rdbackupd

ramdir

#!/bin/bash

# May need some error checking for bad input.

# Convert relative path to absolute
# /bin/pwd gets real path without symbolic link on my system and pwd
# keeps symbolic link. You may need to change it to suit your needs.
somedir=`cd $1; /bin/pwd`;
somedirparent=`dirname $somedir`

# Backup directory
/bin/tar cf $somedir.tar $somedir

# Copy, tried move like https://wiki.archlinux.org/index.php/Ramdisk
# suggests, but I got an error.
mkdir -p /mnt/ramdisk$somedir
/bin/cp -r  $somedir /mnt/ramdisk$somedirparent

# Remove  directory
/bin/rm -r $somedir

# Create symbolic link. It needs to be in parent of given folder.
/bin/ln -s /mnt/ramdisk$somedir $somedirparent

#Run updater
~/bin/rdbackupd "/bin/tar -uf $somedir.tar $somedir" &

uramdir

#!/bin/bash

#Convert relative path to absolute
#somepath would probably make more sense
# pwd and not /bin/pwd so we get a symbolic path.
somedir=`cd $1; pwd`;

# Remove symbolic link
rm $somedir

# Copy dir back
/bin/cp -r /mnt/ramdisk$somedir $somedir

# Remove from ramdisk
/bin/rm -r /mnt/ramdisk$somedir

# Stop
killall rdbackupd

rdbackupd.cpp

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <signal.h>
#include <sys/time.h>

struct itimerval it;
char* command;

void update_archive(int sig)
{
    system(command);
}

int main(int argc, char**argv)
{
    it.it_value.tv_sec     = 1;   // Start right now
    it.it_value.tv_usec    = 0;
    it.it_interval.tv_sec  = 60;  // Run every 60 seconds
    it.it_interval.tv_usec = 0;

    if (argc < 2)
    {
        printf("rdbackupd: Need command to run\n");
        return 1;
    }
    command = argv[1];

    signal(SIGALRM, update_archive);
    setitimer(ITIMER_REAL, &it, NULL); // Start

    while(true);

    return 0;
}
Publicat 26/10/2011 la 00:00
sursa de către utilizator

voturi
3

Nu am exact ceea ce căutați, dar eu sunt acum folosind o combinație de Ramdisk și DRAM ramdisk . Din moment ce acest lucru este Windows, am o limită greu de 3 GB pentru memorie de bază, ceea ce înseamnă că nu pot folosi prea multă memorie pentru un disc de memorie RAM. 4 GB suplimentar pe 9010 într - adevăr roci. Am lăsat magazinul meu IDE toate lucrurile sale temporare pe discul solid RAM de stat și , de asemenea, Maven magazia. DRAM RAM disk - ul are o baterie de rezervă pentru flash card. Acest lucru sună ca o reclama, dar este într - adevăr o configurare excelent.

Discul DRAM are dublu porturi SATA-300 și vine cu 0.0 ms medie, caută pe cele mai multe teste;) Ceva pentru înmagazinarea de Crăciun?

Publicat 09/12/2008 la 22:41
sursa de către utilizator

voturi
3

OS va cache lucrurile în memorie așa cum funcționează. Un disc de memorie RAM ar putea părea mai repede, dar asta pentru că nu sunt factoring în „copie la RAMDISK“ și „copie de RAMDISK“ ori. Dedicînd RAM la o ramdisk dimensiune fixă ​​reduce doar memoria disponibilă pentru cache. Sistemul de operare stie mai bine ce trebuie să fie în memoria RAM.

Publicat 09/12/2008 la 22:38
sursa de către utilizator

voturi
2

Da, m-am întâlnit aceeași problemă. Și după googling neroditoare am scris doar un serviciu Windows pentru suport leneș unitatea de memorie RAM (de fapt - orice dosar, deoarece unitatea RAM poate fi montat în, de exemplu, spațiul de lucru).

http://bitbucket.org/xkip/transparentbackup Puteți specifica intervalul de scanare completă (implicit la 5 minute). Și un interval de scanare notificat numai fișiere (implicit de 30 de secunde). Scanarea detectează fișierele modificate utilizând atributul „arhiva“ (sistemul de operare resetează că unul special pentru scopul de arhivare). Numai fișierele modificate în acest fel sunt susținute.

Serviciul lasă un fișier special marker pentru a vă asigura că de rezervă țintă este exact o copie de siguranță a sursei. Dacă sursa este goală și nu conține un fișier de marcator, serviciul efectuează automat de restaurare din copia de rezervă. Deci, vă poate distruge cu ușurință unitatea de memorie RAM și creați-l din nou cu restaurarea automată a datelor. Este mai bine să utilizați o unitate de memorie RAM, care este capabil de a crea o partiție de pe sistem de pornire pentru a face să funcționeze în mod transparent.

O altă soluție pe care l - am detectat recent este SuperSpeed SuperCache .

Aceasta companie are, de asemenea, un disc de memorie RAM, dar că este un alt software. SuperCache vă permite să utilizați RAM suplimentar la nivel de bloc de cache (este foarte diferit de cache fișier), și o altă opțiune - oglindă vă conduce la RAM complet. În orice scenariu puteți specifica cât de des să scadă blocuri murdare înapoi la unitatea de hard disk, ceea ce face ca pe scrierile unitatea de memorie RAM, dar scenariul de oglindă, de asemenea, face citește ca din unitatea RAM. Puteți crea o mică partiție, de exemplu, 2 GB (folosind Windows) și harta întreaga partiție RAM.

Un lucru interesant și foarte util despre această soluție - puteți schimba și de memorare în cache oglindire opțiuni în orice moment doar instantaneu cu două clicuri. De exemplu, dacă doriți dvs. 2 GB înapoi pentru gamimg sau mașină virtuală - puteți opri doar oglindirea instantaneu și eliberați de memorie înapoi. Chiar și deschis tratări de fișiere nu se sparge - partiția continuă să funcționeze, ci ca o unitate de obicei.

EDIT: Am, de asemenea, foarte recomandăm să mutați dosarul TEMP pentru a te unitate de memorie RAM, deoarece compilatoare face, de obicei, o mulțime de lucru cu temp. În cazul meu mi-a dat o altă 30% din viteza de compilare.

Publicat 11/03/2012 la 07:31
sursa de către utilizator

voturi
2

Am avut aceeași idee și a făcut unele cercetări. Am găsit următoarele instrumente care fac ceea ce căutați:

Cu toate acestea, cea de a doua nu am putut gestiona pentru a obține de lucru pe 64 de biți pentru Windows 7, la toate, și nu pare să fie menținut în acest moment.

Discul VSuite RAM pe alte mâini funcționează foarte bine. Din păcate , nu am putut masura nici un impuls semnificativ de performanță în comparație cu SSD discul în loc.

Publicat 09/11/2011 la 20:33
sursa de către utilizator

voturi
2
  1. Profil. Asigurați - vă că faceți măsurători bune ale fiecărei opțiuni. Poti cumpara chiar si lucruri pe care le - ați respins deja, să le măsoare și să le întoarcă, astfel încât să știi că lucrați la date bune.

  2. Ia - o mulțime de RAM. 2 GB DIMM - uri sunt foarte ieftine; 4 GB DIMM - uri sunt un pic peste US $ 100 / ea, dar că nu este încă o mulțime de bani în comparație cu ce computer unele componente costa acum doar câțiva ani. Fie că va termina cu un disc RAM sau pur și simplu lasă sistemul de operare si faca treaba, acest lucru va ajuta. Dacă executați pe 32 de biți pentru Windows, va trebui să treceți la 64 de biți pentru a face uz de nimic peste 3 GB sau cam asa ceva.

  3. Live Mesh pot sincroniza de pe unitatea RAM local la nor sau la un alt calculator, oferindu - vă o copie de rezervă-up la zi.

  4. Mutare ieșiri doar compilator. Păstrați codul sursă de pe disc fizic real, dar .obj directă, .dll și fișierele .exe care urmează să fie create pe unitatea de memorie RAM.

  5. Luați în considerare un DVC . Clona de la unitatea reală la un nou depozit pe unitatea de memorie RAM. „împinge“ modificările înapoi la părintele de multe ori, de fiecare dată când spun toate testele trec.

Publicat 10/12/2008 la 00:31
sursa de către utilizator

voturi
2

Am folosit pentru a face acum acest an pentru o 4GL macro-compilator; dacă ați pus macro bibliotecă și sprijin bibliotecile și codul pe un disc RAM, compilarea o aplicație (pe un 80286) ar merge de la 20 minute la 30 de secunde.

Publicat 09/12/2008 la 22:32
sursa de către utilizator

voturi
1

Sunt RAMDrives din plin peste tot, utilizați una dintre cele. Ne pare rău, că ar fi nesăbuit.

Numai dacă lucrați în întregime în discul RAM, ceea ce este o prostie ..

Pseudo-ish script de shell, ramMake:

# setup locations
$ramdrive = /Volumes/ramspace
$project = $HOME/code/someproject

# ..create ram drive..

# sync project directory to RAM drive
rsync -av $project $ramdrive

# build
cd $ramdrive
make

#optional, copy the built data to the project directory:
rsync $ramdrive/build $project/build

Acestea fiind spuse, compilatorul poate face, eventual, acest lucru fără script-uri suplimentare .. Doar schimba ieșire locația construi un disc RAM, de exemplu, în Xcode, este sub Preferințe, Building, „Locul construi produse în:“ și „Locul Intermediar Build Fișiere în:".

Publicat 27/03/2009 la 06:31
sursa de către utilizator

voturi
1

Ce poate fi foarte benefic chiar și o singură mașină-core este de a face în paralel. Disk I / O este un factor destul de mare în procesul de construire. Spawning două instanțe de compilator pe nucleu CPU poate creste de fapt performanta. Ca un compilator blocuri de exemplu , pe I / O , celălalt poate sări , de obicei , în CPU intensivă partea de compilare.

Trebuie să vă asigurați că ați luat RAM pentru a sprijini acest lucru (nu ar trebui să fie o problemă pe o stație de lucru moderne), în caz contrar veți termina pompare și care învinge scopul.

Pe GNU face puteți folosi doar în -j[n]cazul în care [n]este numărul de procese simultane pentru a depune icrele. Asigurați - vă că aveți drept de dependență copac înainte de a încerca el , deși sau rezultatele pot fi imprevizibile.

Un alt instrument care este foarte util (în paralel face moda) este distcc . Acesta funcționează un tratament cu GCC (dacă puteți utiliza GCC sau ceva cu o interfață linie de comandă similară). distcc de fapt , se rupe sarcina compilării pretinde a fi compilatorului și pentru depunerea icrelor sarcinile pe servere la distanță. Voi numiți în același mod ca și ai numi CCG, și să profite de marca lui -j [n] opțiune pentru a apela multe procese distcc.

La unul dintre locurile de muncă mele anterioare am avut un build sistem de operare Linux, destul de intens, care a fost efectuat aproape zilnic pentru un timp. Adăugarea într-un cuplu de mașini construi dedicat și punerea distcc pe câteva stații de lucru pentru a accepta compila locuri de muncă ne-a permis să aducă construi ori în jos de la o jumătate de zi la sub 60 de minute pentru un sistem de operare + construi complet în spațiul utilizator.

Există o mulțime de alte instrumente pentru a vitezei compileaza existente. S-ar putea dori să investigheze mai mult decât crearea de discuri RAM; ceva care se pare ca va avea foarte puțin câștig, deoarece sistemul de operare este de a face cache pe disc cu memorie RAM. designeri OS petrec mult timp obtinerea dreptul de cache pentru cele mai multe sarcini de lucru; acestea sunt (în mod colectiv), mai deștept decât tine, așa că nu ar dori să încerc și de a face mai bine decât ei.

Dacă mesteca RAM pentru disc RAM, sistemul de operare are memorie RAM mai puțin de lucru la date cache și pentru a rula codul -> vei termina cu mai interschimbare și performanțe mai rău decât în ​​caz contrar disc (Notă: ar trebui profilul această opțiune înainte de aruncarea înapoi complet aceasta).

Publicat 27/03/2009 la 05:29
sursa de către utilizator

voturi
1

Mă întreb dacă ai putea construi ceva ca un RAID software-1 în cazul în care aveți un disc fizic / partiție ca membru, și o bucată de RAM ca membru.

Pun pariu cu un pic de tweaking și unele de configurare într-adevăr ciudat s-ar putea obține Linux pentru a face acest lucru. Nu sunt convins că ar fi merita efortul, deși.

Publicat 10/12/2008 la 01:06
sursa de către utilizator

voturi
0

Soluția mea finală problema este vmtouch: https://hoytech.com/vmtouch/ Acest instrument blochează folderul curent în (RAM) , memoria cache și daemonizes vmtouch în fundal.

sudo vmtouch -d -L ./

Pune asta în RC coajă pentru acces rapid:

alias cacheThis = 'sudo vmtouch -d -L ./'

Am căutat un scenariu pregătit pentru un timp destul, pentru că nu am vrut să deșeuri o mulțime de timp pe scris propria mea ramdisk-rsync-script. Sunt sigur că mi-ar fi pierdut unele cazuri de margine, care ar fi destul de neplăcut dacă a fost implicat cod de important. Și niciodată nu mi-a placut abordarea de votare.

Vmtouch pare ca solutia perfecta. În plus, acesta nu pierde memorie ca un ramdisk dimensiune fixă ​​nu. Nu am făcut un punct de referință, pentru că 90% din sursa mea 1Gig + construi dosar au fost deja memorate în cache, dar cel puțin se simte mai rapid;)

Publicat 02/08/2017 la 10:08
sursa de către utilizator

voturi
0

Încetinirea pe disc pe care le suporte este scrie în principal, și, de asemenea, posibil din cauza scanerele de viruși. Acesta poate varia foarte mult între sisteme de operare prea.

Cu ideea că scrie sunt cel mai lent, aș fi tentat să setup un build în cazul în care intermediare (de exemplu, .ofișiere) și a binarelor obține de ieșire într - o altă locație , cum ar fi o unitate de memorie RAM.

Ai putea lega atunci acest bin / director intermediar la mass - media mai rapid (folosind un link simbolic sau de la punctul de joncțiune NTFS ).

Publicat 27/09/2011 la 22:36
sursa de către utilizator

voturi
0

Unele idei pe partea de sus a capului meu:

Utilizați Sysinternals' Process Monitor (nu Process Explorer ) pentru a verifica ce se întâmplă în timpul unei construi - acest lucru va permite să vedem dacă %temp%se utilizează, de exemplu , (ține cont de faptul că fișierele de răspuns sunt , probabil , create cu FILE_ATTRIBUTE_TEMPORARY care ar trebui să împiedice pe disc , scrie , dacă este posibil, deşi). M - am mutat meu %TEMP%la un disc RAM, și că îmi dă speedups minore , în general.

Ia un disc de memorie RAM care acceptă în mod automat de încărcare / salvarea imaginilor de disc, astfel încât să nu trebuie să utilizați script-uri de boot pentru a face acest lucru. Secvențială de citire / scriere a unei singure imagini de disc este mai rapid decât sincronizarea o mulțime de fișiere mici.

Locul / fișierele utilizate frecvent antet mari pe disc RAM, și trece peste căile dvs. standard de compilator pentru a utiliza copiile de unitate RAM. Acesta probabil nu va da ca de mult de o îmbunătățire după construiește prima dată, deși, ca sistemul de operare cache antetele standard.

Păstrați fișierele sursă pe hard disc - ul dvs., și sincroniza cu discul RAM - nu invers . Check out MirrorFolder pentru a face sincronizarea în timp real între foldere - realizează acest lucru printr - un driver de filtru, astfel încât numai sincronizeze ceea ce este necesar (și numai că modificările - 4 KB de scriere într - un fișier de 2 GB va provoca doar o scriere de 4 KB la folderul țintă ). Figura cum a face dvs. IDE construi din unitatea RAM , deși fișierele sursă sunt pe hard disc ... și să rețineți că veți avea nevoie de o mare unitate de memorie RAM pentru proiecte mari.

Publicat 27/03/2009 la 06:16
sursa de către utilizator

voturi
0

Acest lucru sună ca cache pe disc, care sistemul de operare și / sau hard disk-ul se va ocupa pentru tine în mod automat (la diferite grade de performanță, desigur).

Sfatul meu este, dacă nu vă place viteza unității, cumpăra o unitate de mare viteză exclusiv în scopuri de compilare. Mai puțin de muncă din partea dumneavoastră și s-ar putea avea soluția la problemele tale compilării.

Deoarece această întrebare a fost întrebat inițial, filare hard disk-uri au devenit țestoase mizere în comparație cu SSD-urile. Ele sunt foarte aproape de discul RAM cerut inițial într-un SKU pe care o puteți cumpăra de la Newegg sau Amazon.

Publicat 09/12/2008 la 22:16
sursa de către utilizator

voturi
-1

Așa cum spune James Curran, faptul că majoritatea programelor urmeze legea localității referințelor, cod și pagina de date frecventă a numărului va fi redus în timp, la o valoare ușor de gestionat de către cache-ul sistemului de operare pe disc.

discurile RAM au fost utile atunci când sistemele de operare au fost construite cu limitări, cum ar fi cache-uri de prost (Win 3.x, Win 95, DOS). Avantajul discului RAM este aproape de zero și, dacă atribuiți o mulțime de RAM va suge memoria disponibilă la managerul sistemului de cache, afectând performanța generală a sistemului. Regula de bază este: lăsați kernel-ul dvs. pentru a face acest lucru. Acest lucru este la fel ca „defragmentarea de memorie“ sau „optimizatori“ programe: forțează de fapt, pagini din cache-ul (astfel încât să obțineți mai mult RAM în cele din urmă), dar cauzarea sistemul de a face o mulțime de pagini faulteaza-a lungul timpului, atunci când programele încărcate începe să solicite codul / datele care au fost paginată.

Deci, pentru mai multă performanță, pentru a primi un subsistem hardware disc I / O rapid, poate RAID, procesor mai rapid, mai bine chipset-ul (nu VIA!), RAM mai fizice etc.

Publicat 27/03/2009 la 04:51
sursa de către utilizator

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more