Citat:
Mihailo:
Ako imaš više particija sa više thread-ova možeš samo da usporiš posao. Možda bi to i koristilo kada bi jedna ploča bila jedna particija, pa da svaka glava bistri svoj deo. Ali nije tako već jedna particija je na svim pločama, znači kad radiš tako samo cimaš glave tamo-vamo. Potraži sliku na googlu da pa će ti biti jasno.
Meni se čini da moderni diskovi imaju
vezane glave, pa ni u slučaju da su particije na odvojenim pločama ne bi bilo ubrzanja pošto se sve glave zajedno kreću, a samo jedna čita. Možda bi bilo moguće naterati diskove da svaka glava tada čita, ali to je korisno samo za pretragu „sirovih“ podataka sa diska, pošto nijedan fajlsistem nije tako zgodno organizovan.
Znači, kao što Mihailo već reče, upotreba više niti na jednom disku može samo usporiti posao, a nikako ubrzati (u najboljem slučaju bi se dobila ista brzina).
Ukoliko želiš da praviš ekstra brzu pretragu, preporučujem da se osloniš na „keš“ mehanizam operativnog sistema. Znači, bitno je da znaš kako on radi, i da pregledaš prvo fajlove koji su već u kešu.
Znači, najbolja rešenja za brzu pretragu su indeksiranje i keširanje. Ako za to nemaš mogućnosti, onda preporučujem čitanje „raw“ diska u velikim blokovima (što više može da stane u memoriju, npr. 64MB), i onda pretraga deo po deo. Ovo ima negativnu stranu da moraš da znaš strukturu fajl-sistema, ali performanse mogu biti odlične (neka se spojeni komad diska od 64mb učita za 6 sekundi na sporim diskovima, imaćeš fulltext pretragu za ispod 20 sekundi, naravno zavisi od procesora i memorije, ali suštinski eliminišeš disk kao usko grlo).
Možda se moje mišljenje promenilo, ali ne i činjenica da sam u pravu.