SD-HC kaart voor veel tekstbestanden: sneller?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Gamebuster
  • Registratie: Juli 2007
  • Laatst online: 01-08 10:05
Ik ben dagelijk bezig met programmeren in Java met Netbeans IDE. Ik doe dit op een recente 15" MacBook Pro met unibody en heb daarin een 5400rpm 500gb schijfje zitten.

Wanneer ik veel projecten tegelijk open kan deze software verschrikkelijk traag worden. Soms zit ik een paar seconden te wachten op een paar bestanden die gelezen moeten worden. Ik vermoed dat de HDD een zware bottleneck is voor de 100en kleine textfiles die continue verwerkt worden door de editor, en dacht er daarom aan om een SSD te nemen. Omdat een SSD echter verschrikkelijk duur is op dit moment (of gewoon te klein), dacht ik aan de optie om een extreem snelle SD kaart te nemen.

Na een korte blik op de alternate webwinkel viel mijn oog op de snelste kaart die ze verkrijgbaar hebben, wat tevens lekker groot is en tegelijkertijd niet eens al te duur:
http://www.alternate.nl/h...cure+Digital&l3=SD%2FSDHC

Deze kaart heeft een R/W van 34MBps, wat al gauw in de buurt komt van een 5400rpm 2.5" HDD. Echter, omdat het hier gaat om een geheugenkaart verwacht ik dat de accesstime veel hoger ligt. Omdat ik vooral werk met extreem veel maar erg kleine bestanden lijkt het mij daarom veel beter om Netbeans IDE en mijn projecten op deze SDHC kaart op te slaan (en regelmatig een backup te maken), waarbij ik deze SDHC kaart gewoon fulltime in mijn laptop laat zitten.

Nou is mijn vraag: Is een goed SD kaartje inderdaad merkbaar sneller (of juist langzamer?) met veel kleine bestanden dan een reguliere HDD? Heeft iemand ervaringen hiermee? Zijn er andere mogelijkheden om deze software te versnellen, zonder dat ik hierbij hierbij mobiliteit verlies? (dus geen externe schijven etc)

[ Voor 4% gewijzigd door Gamebuster op 01-04-2010 22:02 ]

Let op: Mijn post bevat meningen, aannames of onwaarheden


Acties:
  • 0 Henk 'm!

  • GH45T
  • Registratie: November 2003
  • Laatst online: 12-09 22:15
Geen idee of het in OSX kan, maar een ramdisk lijkt me een prima oplossing, als je maar genoeg werkgeheugen hebt.

Acties:
  • 0 Henk 'm!

  • Gamebuster
  • Registratie: Juli 2007
  • Laatst online: 01-08 10:05
GH45T schreef op donderdag 01 april 2010 @ 22:04:
Geen idee of het in OSX kan, maar een ramdisk lijkt me een prima oplossing, als je maar genoeg werkgeheugen hebt.
4GB RAM heb ik erin zitten. 1GB reserveren voor ramdisk is inderdaad geen slecht idee. Moet het wel constant een kopie maken op de HDD; niet dat ik opeens alles kwijt ben wanneer er ook maar iets fout gaat.

[ Voor 18% gewijzigd door Gamebuster op 01-04-2010 22:07 ]

Let op: Mijn post bevat meningen, aannames of onwaarheden


Acties:
  • 0 Henk 'm!

  • TheBorg
  • Registratie: November 2002
  • Laatst online: 11-09 22:11

TheBorg

Resistance is futile.

Ik gebruik zelf een externe 1.8" SSD voor een soortgelijk doel. Het ding kan op e-SATA en op USB. e-SATA heeft natuurlijk de hoogste throughput maar voor het gemak gebruik ik eigenlijk alleen maar de USB aansluiting. In de praktijk merk ik bijna geen verschil, juist omdat het om alleen maar kleine bestandjes gaat.

Met die kleine bestandjes wil je wel iets als wear levelling, ik denk niet dat USB sticks en SDHC kaartjes daar over beschikken.

Je zou grofweg het volgende kunnen zeggen over de access times:
10ms Harddisk
1ms SDHC
0.1ms SSD

Het verschil moet dus goed te merken zijn. Wil je nog sneller kun je een SSD nemen.

Acties:
  • 0 Henk 'm!

  • GH45T
  • Registratie: November 2003
  • Laatst online: 12-09 22:15
Gamebuster schreef op donderdag 01 april 2010 @ 22:05:
[...]

4GB RAM heb ik erin zitten. 1GB reserveren voor ramdisk is inderdaad geen slecht idee. Moet het wel constant een kopie maken op de HDD; niet dat ik opeens alles kwijt ben wanneer er ook maar iets fout gaat.
Om de x minuten automatisch laten synchroniseren met je harddisk.

En anders kom je inderdaad uit op een SSD of SDHC kaartje.

Acties:
  • 0 Henk 'm!

  • Brilsmurfffje
  • Registratie: December 2007
  • Niet online

Brilsmurfffje

Parttime Prutser

is een snelle usb stick zoals een sandisk cruzer contour niet wat?
pricewatch: Sandisk Cruzer Contour 16GB Zwart

Acties:
  • 0 Henk 'm!

  • The Eagle
  • Registratie: Januari 2002
  • Nu online

The Eagle

I wear my sunglasses at night

Wat je ook nog zou kunnen proberen is een aparte partitie aanmaken op je hdd met en kleinere block-size dan je standaard partitie. Daardoor hoeft ie per keer inlezen veel minder (lege) data te verstouwen (plaintext neemt nou eenmaal niet veel in beslag) en kan het ook al sneller worden :)

Maar als je echt snelle reads wilt hebben ontkom je niet aan een ramdisk of SSD.

Weet je echter zeker dat je HDD de botleneck is? Welk proces staat zoveel CPU te vreten als je bezig bent? Denk dat het zeker de moeite is om dat uit te zoeken. In de taskmanager van Windows (neem aan dat je dat draait) kun je extra kolommen toevoegen, dan kun je ook de IO's enzo zien. Zou namelijk zomaar eens kunnen dat de bottleneck heel ergens anders zit.

Al is het nieuws nog zo slecht, het wordt leuker als je het op zijn Brabants zegt :)


Acties:
  • 0 Henk 'm!

  • Gamebuster
  • Registratie: Juli 2007
  • Laatst online: 01-08 10:05
brilsmurfffje schreef op donderdag 01 april 2010 @ 22:14:
is een snelle usb stick zoals een sandisk cruzer contour niet wat?
pricewatch: Sandisk Cruzer Contour 16GB Zwart
Ik heb het liefst iets wat ik er 1x insteek en daarna nooit moet naar hoef om te kijken. Uitstekende dingen zijn nogal storend.

Let op: Mijn post bevat meningen, aannames of onwaarheden


Acties:
  • 0 Henk 'm!

  • Gamebuster
  • Registratie: Juli 2007
  • Laatst online: 01-08 10:05
The Eagle schreef op donderdag 01 april 2010 @ 22:16:
Wat je ook nog zou kunnen proberen is een aparte partitie aanmaken op je hdd met en kleinere block-size dan je standaard partitie. Daardoor hoeft ie per keer inlezen veel minder (lege) data te verstouwen (plaintext neemt nou eenmaal niet veel in beslag) en kan het ook al sneller worden :)

Maar als je echt snelle reads wilt hebben ontkom je niet aan een ramdisk of SSD.

Weet je echter zeker dat je HDD de botleneck is? Welk proces staat zoveel CPU te vreten als je bezig bent? Denk dat het zeker de moeite is om dat uit te zoeken. In de taskmanager van Windows (neem aan dat je dat draait) kun je extra kolommen toevoegen, dan kun je ook de IO's enzo zien. Zou namelijk zomaar eens kunnen dat de bottleneck heel ergens anders zit.
*kuch*mac*kuch*

Het zijn vooral het lezen van alle bestanden dat altijd zo lang duurt. Het openen van projecten, het doorzoeken van bestanden, etc etc

Dat duurt altijd heel lang (d.w.z., dat duurt me een paar seconden te lang :P)

Ik ga even een RAM-disk proberen. Als-ie dan inderdaad merkbaar sneller gaat is het inderdaad de HDD die de bottleneck is, en dan overweeg ik maar een SD kaartje te nemen of kijken of ik die RAM-disk betrouwbaar kan maken.

[ Voor 9% gewijzigd door Gamebuster op 01-04-2010 22:22 ]

Let op: Mijn post bevat meningen, aannames of onwaarheden


Acties:
  • 0 Henk 'm!

Verwijderd

Ik ga er even vanuit dat je een unix-achtige draait zoals *BSD, Linux of OSX wellicht.

Je zou misschien een ramdisk in software-raid met een cloop kunnen draaien in slow-sync modus.

Ik weet niet of dit kan maar mdadm heeft een optie om een raid-1 te draaien waarbij 1 schijf niet continue in sync wordt gehouden. Je kunt zelfs instellen hoeveel KiB/s deze sync'd. Lees de man page van mdadm maar eens.

Je kan natuurlijk ook gewoon een cron job met rsync opzetten. Dat is uiteraard de makkelijkste oplossing. Gewoon een tmpfs in je /etc/fstab zetten en upon boot vullen met rsync en dan telkens weer terug rsyncen.

BASH scriptje met rsyc. Rsync is hier zeer handig in omdat het alleen de aangepaste bestanden kopieert en soms zelfs alleen een deel van een bestand. Daarnaast werkt rsync ook remote over SSH.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
RAMDISK="PATH_NAAR_JE_RAMDISK"
MIRROR="PATH_NAAR_JE_MIRROR"

 if [ ! -d "RAMDISK" ]; then
  rsync -avP "MIRROR" "RAMDISK"
  if [ $? -ne "0" ]; then
   exit 1
  fi
 fi

 while [ true ];
 do
  rsync -avP "RAMDISK" "MIRROR"
  sleep 60
 done


Niet getest maar zo even uit mijn hoofd zou je bovenstaand script kunnen starten wanneer je je ramdisk maakt. Deze vult je ramdisk vanaf je hdd en deze rsync'd elke 60 seconden alle aanpassing terug naar je hdd.

Acties:
  • 0 Henk 'm!

  • Brilsmurfffje
  • Registratie: December 2007
  • Niet online

Brilsmurfffje

Parttime Prutser

let wel op als je voor een sd kaartje gaat dat je slot ook snel genoeg is.

Acties:
  • 0 Henk 'm!

  • The Eagle
  • Registratie: Januari 2002
  • Nu online

The Eagle

I wear my sunglasses at night

Gamebuster schreef op donderdag 01 april 2010 @ 22:19:
[...]

*kuch*mac*kuch*

Het zijn vooral het lezen van alle bestanden dat altijd zo lang duurt. Het openen van projecten, het doorzoeken van bestanden, etc etc

Dat duurt altijd heel lang (d.w.z., dat duurt me een paar seconden te lang :P)

Ik ga even een RAM-disk proberen. Als-ie dan inderdaad merkbaar sneller gaat is het inderdaad de HDD die de bottleneck is, en dan overweeg ik maar een SD kaartje te nemen of kijken of ik die RAM-disk betrouwbaar kan maken.
My bad, overheen gelezen B)

Maar mijn opmerking geldt nog steeds: zoek eerst de bottleneck eens voordat je lukraak dingen gaat proberen :)

Al is het nieuws nog zo slecht, het wordt leuker als je het op zijn Brabants zegt :)

Pagina: 1