Napęd RAM do kompilacji - jest coś takiego?

głosy
49

Odpowiedź (patrz poniżej) na jedno z pytań tu na przepełnienie stosu dał mi pomysł na bardzo mały kawałek oprogramowania, które mogą być bezcenne dla programistów na całym świecie.

Wyobrażam sobie oprogramowanie dysku RAM, ale z jedną zasadniczą różnicę - to odzwierciedlać prawdziwe folderu na dysku twardym. Dokładniej - folder, który zawiera projekt Jestem obecnie pracuje. W ten sposób każdy buduje byłoby prawie natychmiast (lub przynajmniej kilka rzędów wielkości szybciej). Napęd RAM będzie synchronizować jego zawartość z dysku twardego w tle przy użyciu tylko bezczynnych zasobów.

Szybkie wyszukiwanie w Google ujawniło nic, ale może ja po prostu nie wiem, jak Google. Może ktoś zna takiego oprogramowania? Korzystnie darmowe, ale rozsądne opłaty może być OK zbyt.

Dodano: Niektóre rozwiązania zostały zaproponowane którą odrzucono na samym początku. Byliby (w przypadkowej kolejności):

  • Kupić szybszy dysk twardy ( SSD być może lub 10K RPM). Nie chcę rozwiązania sprzętowego. Nie tylko oprogramowanie ma potencjał, by być tańsze, ale może być również stosowany w środowiskach, w których modyfikacje sprzętowe byłaby niepożądana, jeśli nie niemożliwe (freeware, anyone?) - powiedzmy, w biurze.
  • Niech OS / HDD wykonać buforowanie - ona wie lepiej jak wykorzystać swój wolny RAM. OS / HDD rodzajowe algorytmy pamięci podręcznej cache, że wszystko i starają się przewidzieć, jakie dane będą najbardziej potrzebne w przyszłości. Nie mają pojęcia, że dla mnie priorytetem jest moim folderze projektu. A jak wszyscy wiemy dobrze - oni naprawdę nie buforować go dużo i tak. ;)
  • Istnieje wiele dysków RAM wokół; użyj jednego z nich. Niestety, to byłoby lekkomyślne. Potrzebuję moje dane mają zostać zsynchronizowane z powrotem na dysk twardy, gdy jest trochę wolnego czasu. W przypadku awarii zasilania mogłem znieść utraty ostatnie pięć minut pracy, ale nie wszystko od mojego ostatniego zaewidencjonowania.

Dodano 2: Pomysł, który wymyślił - użyć zwykłego dysku RAM plus synchronizator folderu tła (ale ja mam na myśli tło ). Czy istnieje coś takiego?

Dodano 3: Interesujące. Ja tylko starałem się prosty dysk RAM w pracy. Czas odbudować spada z ~ 14 sekund do ~ 7 sek (nie złe), ale przyrostowe kompilacji jest nadal na ~ 5 sekund - tak jak na dysku twardym. Wszelkie pomysły, dlaczego? Wykorzystuje aspnet_compilera aspnet_merge. Być może coś zrobić z innych plików tymczasowych gdzie indziej?

Dodano 4: Oh, ładny nowy zestaw odpowiedzi! :) OK, mam trochę więcej informacji dla was wszystkich naysayers. :)

Jednym z głównych powodów, dla tej idei nie jest wspomniany wyżej oprogramowanie (14 sek czas budowy), ale jeszcze jeden, że nie mają dostępu w czasie. Ta druga aplikacja posiada 100 MB kodu bazowego, a jego pełny budowa trwa około 5 minut. Ach tak, to w Delphi 5 , więc kompilator nie jest zbyt zaawansowany. :) Umieszczenie źródła na dysku RAM spowodowało dużą różnicę. Dostałem go poniżej minuty, myślę. Ja nie mierzone. Więc dla tych wszystkich, którzy twierdzą, że system operacyjny może buforować rzeczy lepiej - Chciałbym mieć odmienne zdanie.

Podobne zapytania:

Dysk RAM z prędkością dochodzącą IDE

Uwaga na pierwszy link: The pytanie, które łączy to został usunięty, ponieważ był duplikatem. Zwróciła:

Co robisz podczas kompilacji kodeksu?

A odpowiedź przez Dmitri Nesteruk do którego połączony był:

Skompilować niemal natychmiast. Częściowo ze względu na moich projektów jest mały, częściowo ze względu na zastosowanie dysków RAM.

Utwórz 09/12/2008 o 22:11
źródło użytkownik
W innych językach...                            


18 odpowiedzi

głosy
17

W Linuksie (nigdy nie wspomniano, który OS jesteś na, więc to mogłoby być istotne) można utworzyć urządzenia blokowe z pamięci RAM i zamontować je jak każde inne urządzenia blokowego (to jest dysk twardy).

Następnie można tworzyć skrypty, które kopiują do iz tego dysku podczas uruchamiania / wyłączania, a także okresowo.

Na przykład, można ustawić go tak trzeba było ~/codei ~/code-real. Twój blok RAM zostanie zamontowany ~/codena starcie, a potem wszystko od ~/code-real(który jest na standardowym dysku twardego) zostanie skopiowany. Na zamknięciu wszystko będzie kopiowany ( rsync d”byłoby szybciej) z powrotem ~/codedo ~/code-real. Ty również, że prawdopodobnie chcesz uruchomić skrypt okresowo, więc nie stracić dużo pracy w przypadku awarii zasilania, itd.

Nie rób tego więcej (użyłem go do Opery , gdy 9.5 beta była powolna, nie potrzebuje już).

Oto, jak utworzyć dysk RAM w systemie Linux.

Odpowiedział 09/12/2008 o 23:58
źródło użytkownik

głosy
15

Jestem zaskoczony, jak wiele osób sugeruje, że system operacyjny można zrobić lepiej na zastanawianie się Twoje potrzeby buforowania niż można w tym przypadku specjalistycznej. A ja nie zrobiłem tego do kompilacji, zrobiłem to dla podobnych procesów i skończyło się przy użyciu dysku RAM ze skryptów automatycznych synchronizacji.

W tym przypadku, myślę, że pójdę z nowoczesnego systemu kontroli źródła. Na każdym kompilacji byłoby sprawdzić w kodzie źródłowym (wzdłuż gałęzi eksperymentalnej w razie potrzeby) automatycznie, tak aby każdy kompilacji spowodowałoby dane zapisywane off.

Aby rozpocząć rozwój, uruchom dysk RAM i wyciągnąć bieżącą linię bazową. Wykonaj edycji, kompilacji, edycja kompilacji, itp - wszystko podczas gdy zmiany są zapisywane dla Ciebie.

Czy ostateczną kontrolę w przypadku szczęśliwy, a nawet nie musi wiązać regularnego dysku twardego.

Ale istnieje tło synchronizatory, które automatyzuje rzeczy - chodzi o to, że nie zostanie zoptymalizowany do programowania albo i może trzeba zrobić pełne skanowanie katalogów i plików czasami złapać zmian. System kontroli kodu źródłowego jest przeznaczony do dokładnie tego celu, więc to może być niższa głową, mimo że istnieje w konfiguracji kompilacji.

Należy pamiętać, że zadaniem tło synchronizacji, w przypadku przerwy w dostawie prądu, jest niezdefiniowany. Można by skończyć się koniecznością, aby dowiedzieć się, co zostało zapisane, a co nie zostało zapisane, jeśli coś poszło nie tak. Z definicją oszczędzania punktu (w każdej kompilacji, lub zmuszony ręcznie), że masz całkiem dobry pomysł, że to co najmniej w stanie, w którym zdawało go skompilować. Użyj VCS i można łatwo porównać go do poprzedniego kodu i zobaczyć, jakie zmiany zostały zastosowane już.

Odpowiedział 27/03/2009 o 05:03
źródło użytkownik

głosy
4

Zobacz Przyspieszenie wyłaniają się z tmpfs ( Gentoo Linux wiki).

Przyspieszenie kompilację przy użyciu dysków RAM pod Gentoo był przedmiotem how-to napisał wiele wieków temu. Zapewnia konkretny przykład tego, co zostało zrobione. Istotą jest, że wszystkie źródła i kompilacji pośrednie są skierowane na dysku pamięci RAM dla kompilacji, a końcowe binarne są skierowane na dysku dla instalacji.

Również polecam zwiedzania utrzymując swoje źródła na dysk twardy, ale git pushswoje najnowsze zmiany źródła do respository klonu, który znajduje się na dysku RAM. Skompilować klona. Użyj swojej ulubionej skrypt skopiować pliki binarne utworzone.

Mam nadzieję że to pomogło.

Odpowiedział 10/12/2008 o 01:28
źródło użytkownik

głosy
3

Użyj https://wiki.archlinux.org/index.php/Ramdisk aby dysk RAM.

Potem napisałem te skrypty, aby przejść do katalogów z dysku RAM. Kopia zapasowa wykonana w tar pliku przed przejściem do RAM-dysku. Zaletą robi to w ten sposób jest to, że ścieżka pozostaje taka sama, więc wszystkie pliki konfiguracyjne nie trzeba zmieniać. Po zakończeniu, należy uramdirprzywrócić na dysku.

Edycja: Dodano kod C, który będzie działał dowolne polecenie to jest podane w odstępie w tle. Posyłam go tarz --updateaktualizować archiwum Jeśli jakiekolwiek zmiany.

Wierzę, że to rozwiązanie ogólnego przeznaczenia bije co unikalne rozwiązanie na coś bardzo prostego. POCAŁUNEK

Upewnij się, zmienić ścieżkę do 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;
}
Odpowiedział 26/10/2011 o 00:00
źródło użytkownik

głosy
3

Nie mam dokładnie to, czego szukasz, ale jestem teraz przy użyciu kombinacji Ramdisk i DRAM ramdysku . Ponieważ jest to system Windows, mam twardy 3 GB limitu pamięci podstawowej, co oznacza, że nie można używać zbyt dużo pamięci na dysku RAM. 4 GB dodatkowo na 9010 naprawdę kołysze go. I niech mój sklep IDE wszystkie jego tymczasowe rzeczy na dysku SSD RAM, a także Maven repozytorium. Dysk RAM DRAM ma zapasową baterię do karty flash. To brzmi jak reklama, ale tak naprawdę jest to doskonały setup.

Dysk DRAM ma podwójne porty SATA-300 i wychodzi z 0,0 ms Średnie szukają na większości testów;) Coś za pończochę?

Odpowiedział 09/12/2008 o 22:41
źródło użytkownik

głosy
3

Twój system operacyjny będzie buforować rzeczy w pamięci, jak to działa. Dysk RAM może wydawać się szybciej, ale to dlatego, że nie są w faktoringu „kopii do ramdysku” i „Kopiuj z ramdysku” czasach. Przeznacza RAM do stałej wielkości ramdysku tylko zmniejsza ilość pamięci dostępnej dla buforowania. OS wie lepiej, co musi być w pamięci RAM.

Odpowiedział 09/12/2008 o 22:38
źródło użytkownik

głosy
2

Tak, poznałem ten sam problem. I po bezowocnych googling ja po prostu napisał usługa Windows dla leniwych kopii zapasowej dysku RAM (właściwie - dowolnego folderu, ponieważ dysk RAM może być zamontowany w, na przykład, pulpit).

http://bitbucket.org/xkip/transparentbackup Można określić interwał dla pełnego skanowania (domyślnie 5 minut). I przerwa do skanowania tylko zgłoszone plików (domyślnie 30 sekund). Skanowania wykrywa zmienione pliki za pomocą atrybutu „archiwum” (OS resetuje że jedna specjalnie dla celów archiwizacji). Tylko pliki zmodyfikowane w ten sposób są wspierane.

Obsługa pozostawia specjalny plik marker, aby upewnić się, że cel jest dokładnie backup backup źródła. Jeśli źródłem jest pusty i nie zawiera plik markera, usługa wykonuje automatyczne przywrócenie z kopii zapasowej. Tak, można łatwo zniszczyć dysk RAM i utworzyć go ponownie z automatycznego przywracania danych. Lepiej jest użyć dysku RAM, która jest zdolna do tworzenia partycji na uruchomienie systemu, aby to działało w sposób przejrzysty.

Innym rozwiązaniem, które I niedawno wykryty jest SuperSpeed SuperCache .

Ta firma posiada także dysk RAM, ale to już inna oprogramowanie. SuperCache pozwala korzystać z dodatkowej pamięci RAM dla buforowania blok poziomu (to jest bardzo różni się od buforowania plików), a inna opcja - lustro jechać do całkowicie RAM. W każdym scenariuszu można określić, jak często do spadku brudne bloki z powrotem do dysku twardego, co pisze jak na dysku RAM, ale również sprawia, że ​​lustro scenariusz brzmi jak z dysku RAM. Można utworzyć małą partycję, na przykład, za pomocą 2 GB (Windows) i map całą partycję do pamięci RAM.

Interesującą i bardzo przydatna rzecz o tego rozwiązania - można zmienić opcje buforowania i dublowanie w każdej chwili tylko od razu z dwóch kliknięć. Na przykład, jeśli chcesz 2 GB z powrotem do gamimg lub maszynie wirtualnej - można po prostu przestać mirroring i natychmiast zwolnić pamięć powrotem. Nawet otwarte uchwyty plików nie łamie - strefa nadal działać, ale jako zwykły napęd.

EDIT: Ja również bardzo polecam przenieść folder TEMP TE dysk RAM, ponieważ zwykle kompilatory zrobić dużo pracy przy temp. W moim przypadku to dało mi jeszcze 30% prędkości kompilacji.

Odpowiedział 11/03/2012 o 07:31
źródło użytkownik

głosy
2

Miałem ten sam pomysł i zrobiłem kilka badań. Znalazłem następujące narzędzia, które robią to, czego szukasz:

Jednak druga nie mogłem zarządzać, aby pracować na 64-bitowego systemu Windows 7 w ogóle, a nie wydaje się być utrzymane w tej chwili.

Dysk VSuite RAM na inne ręce działa bardzo dobrze. Niestety nie mogłem zmierzyć żadnego znaczącego wzrost wydajności w porównaniu do SSD płyty w miejscu.

Odpowiedział 09/11/2011 o 20:33
źródło użytkownik

głosy
2
  1. Profil. Upewnij się zrobić dobre pomiary każdej opcji. Można nawet kupić rzeczy już odrzuconych, zmierzyć je i zwrócić je, więc wiesz, że pracujesz z dobrymi danymi.

  2. Dostać dużo pamięci RAM. 2 PL DIMM są bardzo tanie; 4 GB DIMM są trochę ponad US $ 100 / EA, ale to nie jest jeszcze dużo pieniędzy w porównaniu do tego, co komputer części kosztują zaledwie kilka lat temu. Czy można skończyć z dysku RAM lub po prostu pozwalając OS, co robi, to pomoże. Jeśli używasz 32-bitowego systemu Windows, musisz przełączyć się na 64-bitowym, aby skorzystać z czegokolwiek ponad 3 GB lub więcej.

  3. Live Mesh można synchronizować z lokalnego dysku RAM do chmury lub do innego komputera, co daje up-to-date zapasową.

  4. Przenieś wyjść tylko kompilatora. Zachować kod źródłowy na prawdziwym dysku fizycznym, ale bezpośredni .obj, .dll i .exe zostać utworzony na dysku RAM.

  5. Rozważmy dvcs . Sklonować z prawdziwym napędem do nowego repozytorium na dysku RAM. „push” zmiany z powrotem do rodziców często, za każdym razem mówią wszystkie testy przechodzą.

Odpowiedział 10/12/2008 o 00:31
źródło użytkownik

głosy
2

Wykorzystaliśmy to zrobić lata temu na 4GL makro kompilatora; Jeśli umieścisz makro bibliotek biblioteki i wsparcie oraz kod na dysku RAM, kompilacji aplikacji (na poziomie 80286) pójdzie od 20 minut do 30 sekund.

Odpowiedział 09/12/2008 o 22:32
źródło użytkownik

głosy
1

Istnieje wiele RAMDrives dookoła, użyj jednego z nich. Niestety, to byłoby lekkomyślne.

Tylko jeśli pracują w całości na dysku RAM, co jest głupie ..

skrypt psuedo-owski, 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

Powiedział, że kompilator może ewentualnie zrobić to bez żadnych dodatkowych skryptów .. Wystarczy zmienić pozycję wyjściową gromadzeniu danych na dysku RAM, na przykład w Xcode, to na podstawie preferencji, Budynek „Place Budowanie produkty w zakresie:” i „Place Intermediate Budowanie plików w:".

Odpowiedział 27/03/2009 o 06:31
źródło użytkownik

głosy
1

Co może być bardzo korzystne, nawet na maszynie single-core to make równoległe. Disk I / O jest dość duży czynnikiem w procesie budowania. Tarła dwie instancje kompilatora na rdzeń procesora może rzeczywiście zwiększyć wydajność. Jako jeden kompilator instancji bloki na I / O drugi może zwykle wskoczyć do procesora intensywne części kompilacji.

Musisz upewnić się, że masz pamięć RAM do wsparcia tego (nie powinno być problemem na nowoczesnej stacji roboczej), w przeciwnym razie będziesz skończyć zamianę i celowość.

Na GNU dokonać można po prostu użyć -j[n]gdzie [n]jest liczba równoczesnych procesów na tarło. Upewnij się, że masz prawo drzewa zależności zanim spróbujesz go jednak, a uzyskane rezultaty mogą być nieprzewidywalne.

Innym narzędziem, które jest bardzo przydatne (w make równolegle) jest distcc . To działa wspaniale z GCC (jeśli można użyć GCC lub coś podobnego z interfejsu wiersza poleceń). distcc faktycznie zrywa zadania kompilacji udając kompilator i tarła zadań na serwerach zdalnych. Nazywasz go w taki sam sposób, jak można nazwać GCC oraz opcję [n] skorzystać z uczynić za -j zadzwonić wiele procesów DistCC.

Na jednym z moich poprzednich prac mieliśmy dość intensywne kompilacji systemu operacyjnego Linux, która została wykonana niemal codziennie przez jakiś czas. Dodając kilka dedykowanych maszyn budowlanych i oddanie distcc na kilku stacjach roboczych, aby zaakceptować skompilować pracy pozwoliło nam przynieść razy kompilacji w dół z pół dnia do poniżej 60 minut do pełnego OS + userspace kompilacji.

Istnieje wiele innych narzędzi do prędkości kompiluje istniejących. Może chcesz zbadać więcej niż tworzenie dysków RAM; coś, co wygląda jak będzie to miało bardzo mały przyrost ponieważ OS robi buforowania dysku z pamięcią RAM. Projektanci OS spędzają dużo czasu coraz prawo buforowania dla większości obciążeń; oni są (łącznie) mądrzejszy od ciebie, więc nie chciałbym, aby spróbować zrobić lepiej niż oni.

Jeśli żuć RAM na dysku RAM, system operacyjny ma mniej pamięci RAM roboczą buforowania danych i uruchamiania kodu -> będziesz skończyć z bardziej swapping i gorszej wydajności dysku niż inaczej (uwaga: należy profil tej opcji, zanim całkowicie odrzucając to).

Odpowiedział 27/03/2009 o 05:29
źródło użytkownik

głosy
1

Zastanawiam się, czy można zbudować coś podobnego oprogramowania RAID 1, gdzie masz fizycznego dysku / partycji jako członek, a kawałek RAM jako członka.

Założę się trochę szczypanie i niektóre naprawdę dziwne konfiguracji można uzyskać Linux to zrobić. Nie jestem przekonany, że będzie to warte wysiłku, choć.

Odpowiedział 10/12/2008 o 01:06
źródło użytkownik

głosy
0

Moje ostateczne rozwiązanie tego problemu jest vmtouch: https://hoytech.com/vmtouch/ To narzędzie blokuje bieżącego folderu do pamięci podręcznej (RAM) i vmtouch daemonizes język tle.

sudo vmtouch -d -L ./

Umieścić to w muszli rc dla szybkiego dostępu:

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

Szukałem gotowego skryptu na dłuższą chwilę, bo nie chcą tracić czasu na pisanie własne ramdysku-rsync skrypt. Jestem pewien, że nie zostały pominięte niektóre przypadki krawędzi, które byłyby dość nieprzyjemny jeśli ważny kod został zaangażowany. I nigdy nie podobało mi się podejście odpytywania.

Vmtouch wydaje się idealnym rozwiązaniem. Ponadto nie tracić pamięć jak stałą wielkość ramdysk robi. Nie zrobiłem punkt odniesienia, ponieważ 90% mojego źródła 1Gig + budować folderu zostały już buforowane, ale przynajmniej czuje się szybciej;)

Odpowiedział 02/08/2017 o 10:08
źródło użytkownik

głosy
0

Spowolnienie dysk ponieść głównie pisać, a także prawdopodobnie z powodu skanerów antywirusowych. To może się znacznie różnić między poniekąd też.

Przy założeniu, że pisze się najwolniej, byłbym skłonny do konfiguracji kompilacji gdzie pośrednie (na przykład .opliki binarne) i uzyskać wyjście do innej lokalizacji, takich jak dysk RAM.

Następnie można połączyć tę bin folderu / półproduktu do szybszych nośników (za pomocą łącza symbolicznego lub NTFS punkt połączenia ).

Odpowiedział 27/09/2011 o 22:36
źródło użytkownik

głosy
0

Niektóre pomysły z góry na głowie:

Use Sysinternals' Process Monitor (nie Process Explorer ), aby sprawdzić, co dzieje się w trakcie budowy - to pozwoli Ci sprawdzić, czy %temp%jest używany, na przykład (należy pamiętać, że pliki odpowiedzi są prawdopodobnie utworzone z FILE_ATTRIBUTE_TEMPORARY które powinny zapobiec dysku pisze, jeśli to możliwe, chociaż). Ja przeniosłem %TEMP%na dysk RAM, a to daje mi drobne speedups w ogóle.

Wirtualny dysk RAM, który obsługuje automatycznego wczytywania / zapisywania obrazów dysków, dzięki czemu nie trzeba używać skryptów startowych, aby to zrobić. Sekwencyjnego odczytu / zapisu pojedynczego obrazu dysku jest szybszy niż synchronizowania wiele małych plików.

Zamieść często używanych / dużych plików nagłówkowych na dysku RAM i zastąpić standardowej ścieżki kompilatora użyć kopii dysku RAM. To prawdopodobnie nie da , że wiele z poprawą po raz pierwszy buduje, choć, jak OS buforuje standardowych nagłówków.

Miej pliki źródłowe na dysku twardym, a zsynchronizowane z dysku RAM - a nie na odwrót . Sprawdź MirrorFolder do wykonywania synchronizacji w czasie rzeczywistym pomiędzy folderami - osiąga to poprzez sterownika filtru, więc tylko synchronizuje co jest konieczne (i tylko nie zmienia - 4 KB zapisu do pliku 2 GB spowoduje jedynie 4 KB zapisu do folderu docelowego ). Dowiedzieć się, jak zrobić IDE build z dysku RAM chociaż pliki źródłowe są na dysku twardym ... i pamiętać, że trzeba mieć duży dysk RAM dla dużych projektów.

Odpowiedział 27/03/2009 o 06:16
źródło użytkownik

głosy
0

To brzmi jak buforowanie dysku, który będzie automatycznie obsługiwać system operacyjny i / lub dysk twardy dla was (w różnym stopniu wydajności, co prawda).

Moja rada jest, jeśli nie podoba prędkość dysku, kupić wysokiej prędkości jazdy wyłącznie do celów zestawiania. Mniej pracy z Twojej strony i może mieć rozwiązanie firmy zbierające nieszczęść.

Ponieważ kwestia ta została pierwotnie zapytał wirujące dyski twarde stały nędzne żółwie w porównaniu do dysków SSD. Są one bardzo zbliżone do pierwotnie wnioskowanej dysku RAM w SKU, które można nabyć od Newegg lub Amazon.

Odpowiedział 09/12/2008 o 22:16
źródło użytkownik

głosy
-1

Tak jak mówi James Curran, fakt, że większość programów zgodnie z prawem lokalności odniesień, częste kod i licznik Dane zostaną zwężone z czasem do rozsądnego rozmiaru pamięci podręcznej dysku przez system operacyjny.

Dyski RAM były użyteczne, gdy systemy operacyjne zostały zbudowane z ograniczeniami, takimi jak głupich skrytek (Win 3.x, Win 95, DOS). Zaletą dysk RAM jest bliska zeru, a jeśli dużo przypisać RAM będzie ssać pamięci dostępnej do menedżera pamięci podręcznej systemu, raniąc ogólną wydajność systemu. Zasadą jest: niech twoje jądro to zrobić. To jest taka sama jak „defragmentacji pamięci” lub programów „optymalizatorzy”: faktycznie zmuszają stron z pamięci podręcznej (więc masz więcej pamięci RAM w końcu), ale powoduje, że system do zrobienia mnóstwo stronie-faulting z czasem, gdy załadowane programy zaczynają prosić o kod / danych, które zostały zaksiegowane.

Tak na większą wydajność, uzyskać szybki dysk podsystem I / O sprzętu, może RAID, szybszy procesor, lepszy chipset VIA (nie!), Więcej pamięci RAM, itd.

Odpowiedział 27/03/2009 o 04:51
źródło użytkownik

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