-
Data: 2017-02-03 18:59:45
Temat: Re: Jak stwierdzić wielkość użytecznej wolnej pamięci?
Od: bartekltg <b...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 03.02.2017 15:15, Stachu 'Dozzie' K. wrote:
> On 2017-02-03, Borneq <b...@a...hidden.pl> wrote:
>> W dniu 03.02.2017 o 13:51, Maciej Sobczak pisze:
>>> Jak chcesz mieć dostęp do fizycznego sprzętu, to pisz programy bezpośrednio na
ten fizyczny sprzęt. W ramach kompromisu, być może funkcje mapujące pamięć mają
jakieś opcje, które pozwalają kontrolować stopień "nieruszalności" jakiegoś bloku
albo zakresu adresów - może się wtedy jednak okazać, że będziesz musiał tam samemu
zorganizować sobie alokację.
>>
>> Chodzi o to: działam na wielkich plikach, lepiej bym używał tyle pamięci
>> ile mogę aby było szybciej.
>> Przykład: sortowanie zewnętrzne 3-plikowe lub większa ilość plików. Aby
>> zmniejszyć zdecydowanie ilość przerzucań tym plikiem, przepuszczam przez
>> stóg, jak największy, tyle ile mam pamięci, Wtedy plik składa się z
>> dużych kawałków posortowanych.
>
> Robisz głupio. Do tego używa się mmap(2), a nie wykrywania ilości wolnej
> pamięci. Wtedy przydzielaniem RAM-u martwi się system operacyjny.
Nie bardzo rozumiem, co mu zmapowanie plików do pamięci pomoże.
Jeśli odpali na tym qsorta najlepszy system operacyjny mu nie
pomoże ;-)
Pewnie chciałby posortować małe porcje, a potem mergesort
na plikach. Ta drugą cześć bez problemu można robić jak
sgerujesz, ale przy pierwszej, wypadałoby wiedzieć, ile się zmieści.
Jeśli zmieści się dwa razy więcej, będzie jeden przebieg mniej.
OK, co prawda mergesort puszczony naiwnie spowoduje pełne
log_2 (N) odczytów z dysku, to mergesort zrobiony w kolejnośćipostorder
sortuj( a,b ){
mid = a+(b-a)/2;
sortuj (a,mid);
sortuj (mid,b);
scal(a,mid,b)
}
przy dobrym automatycznym zarzadzaniu pamięcią (a nawety głupim
'wywalaj wg kolejności użycia') da wynik przyzwoity.
Ale nie idaealny, bo muszę mieć zmapowane w p[amięci wejscie i wyjscie,
trace wiec jeden przebieg.
Z drugiej strony to problem istotny tylko przy słąbych algorytmach.
Jeśli skorzystać z 256 plików, to 65 terabajtów posortuję za pomocą
gigabajta w trzech seriach odczyt/zapis ;-)
pzdr
bartekltg
Następne wpisy z tego wątku
- 03.02.17 19:35 Borneq
- 03.02.17 19:41 Borneq
- 03.02.17 20:03 bartekltg
- 03.02.17 20:08 Borneq
- 04.02.17 03:16 a...@m...uni.wroc.pl
- 04.02.17 14:59 M.M.
- 07.02.17 23:42 Borneq
- 07.02.17 23:52 Borneq
- 21.02.17 22:40 Bartłomiej Golenko
- 22.02.17 15:12 Adam Wysocki
- 22.02.17 15:30 Stachu 'Dozzie' K.
- 22.02.17 15:32 bartekltg
- 22.02.17 15:53 Adam Wysocki
- 22.02.17 16:19 Stachu 'Dozzie' K.
Najnowsze wątki z tej grupy
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
Najnowsze wątki
- 2025-03-21 Zakaz wjazdu
- 2025-03-21 Nie zawsze wchodzi jedynka
- 2025-03-21 Samochody na wodę
- 2025-03-20 miszczowie parkowania
- 2025-03-20 "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
- 2025-03-21 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-03-21 Warszawa => Strategic Account Manager <=
- 2025-03-21 Wrocław => SOC Tech Leader <=
- 2025-03-21 Szczecin => Key Account Manager IT <=
- 2025-03-21 Ostrów Wielkopolski => Konsultant Wdrożeniowy Comarch XL/Optima (Ksi
- 2025-03-21 Wrocław => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-03-21 Warszawa => IT Business Analyst <=
- 2025-03-21 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-03-21 Dęblin => Node.js / Fullstack Developer <=
- 2025-03-21 Re: Co po KK-200? (Przypadki szczególne ponad 15 lat) [Islandzka matka/ministra ustąpiła]