-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!.POSTED!not-for-mail
From: bartekltg <b...@g...com>
Newsgroups: pl.comp.programming
Subject: Re: Jak stwierdzić wielkość użytecznej wolnej pamięci?
Date: Fri, 3 Feb 2017 18:59:45 +0100
Organization: ATMAN - ATM S.A.
Lines: 52
Message-ID: <o72gei$g9k$1@node1.news.atman.pl>
References: <o6vv41$dl7$1@node2.news.atman.pl>
<6...@g...com>
<o71va5$ub4$1@node1.news.atman.pl> <s...@j...net>
NNTP-Posting-Host: 89-70-119-159.dynamic.chello.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: node1.news.atman.pl 1486144786 16692 89.70.119.159 (3 Feb 2017 17:59:46 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Fri, 3 Feb 2017 17:59:46 +0000 (UTC)
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101
Thunderbird/45.5.1
In-Reply-To: <s...@j...net>
Xref: news-archive.icm.edu.pl pl.comp.programming:210219
[ ukryj 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
- 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?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
- Ideologia Polskiego Programisty wer.3
Najnowsze wątki
- 2024-05-06 Fotowoltaika do c.w.u.
- 2024-05-06 Warszawa => Senior IT Recruiter <=
- 2024-05-06 Kraków => Lider Serwisu/Programista PLC z językiem niemieckim <=
- 2024-05-06 Berlin => Solution Architect (secure communication and IoT solutions)
- 2024-05-06 Czy szpital przekazuje dokumentację medyczną do Starosty powiatu?
- 2024-05-06 naprawa zamka
- 2024-05-06 Kraków => Mid/Senior QA Engineer <=
- 2024-05-06 Warszawa => Java Developer <=
- 2024-05-06 Re: Prawo móżdżek...
- 2024-05-06 Toruń => UX/UI Designer <=
- 2024-05-06 Wrocław => UX/UI Designer <=
- 2024-05-06 Warszawa => Senior PHP Developer (Symfony) <=
- 2024-05-06 Białystok => Senior Software Engineer PHP (BillPro) Kontraktor <=
- 2024-05-06 Warszawa => AI Specialist <=
- 2024-05-05 Taki dinks do drzwi