Mam plik xml, który należy czytać od wielu razy. Próbuję użyć Parallel.ForEach, aby przyspieszyć te procesy, ponieważ żaden z odczytanych danych nie ma znaczenia, w jakiej kolejności jest czytany. Dane są właśnie używane do wypełniania obiektów. Mój problem polega na tym, że otwieram plik za każdym razem w wątku jako przeczytany, tylko dlatego, że jest otwarty przez inny program. (Nie mam go otwartego w edytorze tekstów ani nic takiego :))Wiele wątków czytających z tego samego pliku
Jak mogę dokonać wielu odczytów z tego samego pliku?
EDYTOWANIE: plik jest ~ 18KB całkiem mały. Jest czytany od około 1800 razy.
Dzięki
Twój twardy dysk ma tylko jedną głowicę, więc możesz czytać tylko jedną czytaną w tym samym czasie. Jakiej poprawy wydajności oczekujesz od tego? – Daniel
Doe plik pasuje do pamięci podręcznej dysku? Jeśli tak, to wiele odczytów będzie szybkie, w przeciwnym razie, jeśli plik jest wystarczająco mały, aby zmieścił się w pamięci, użyj zamiast tego pliku odwzorowanego w pamięci i odczytaj z niego. W przeciwnym razie twardy dysk będzie spędzał dużo czasu na rzucaniu, zamiast wykonywać sekwencyjne odczyty, a utracisz wydajność, a nie ją osiągniesz. – mdma
Jedna głowa na dysku twardym? Jestem pewien, że nawet dyski z pojedynczym talerzem mają teraz wiele głów, a także pamięć podręczną itp., Które ograniczają konkretne spowolnienia. – GrayWizardx