Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > pl.comp.programming > #29391

Re: Jak stwierdzić wielkość użytecznej wolnej pamięci?

From bartekltg <bartekltg@gmail.com>
Newsgroups pl.comp.programming
Subject Re: Jak stwierdzić wielkość użytecznej wolnej pamięci?
Date 2017-02-03 18:59 +0100
Organization ATMAN - ATM S.A.
Message-ID <o72gei$g9k$1@node1.news.atman.pl> (permalink)
References <o6vv41$dl7$1@node2.news.atman.pl> <6c1ebc56-b965-455c-b1f0-f818c821fff1@googlegroups.com> <o71va5$ub4$1@node1.news.atman.pl> <slrno9943h.mho.dozzie@jarowit.net>

Show all headers | View raw


On 03.02.2017 15:15, Stachu 'Dozzie' K. wrote:
> On 2017-02-03, Borneq <borneq@antyspam.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




Back to pl.comp.programming | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Jak stwierdzić wielkość użytecznej wolnej pamięci? Borneq <borneq@antyspam.hidden.pl> - 2017-02-02 19:51 +0100
  Re: Jak stwierdzić wielkość użytecznej wolnej pamięci? Maciej Sobczak <see.my.homepage@gmail.com> - 2017-02-03 04:51 -0800
    Re: Jak stwierdzić wielkość użytecznej wolnej pamięci? Borneq <borneq@antyspam.hidden.pl> - 2017-02-03 14:07 +0100
      Re: Jak stwierdzić wielkość użytecznej wolnej pamięci? "Stachu 'Dozzie' K." <dozzie@go.eat.some.screws.spammer.invalid> - 2017-02-03 14:15 +0000
        Re: Jak stwierdzić wielkość użytecznej wolnej pamięci? Borneq <borneq@antyspam.hidden.pl> - 2017-02-03 15:18 +0100
          Re: Jak stwierdzić wielkość użytecznej wolnej pamięci? "Stachu 'Dozzie' K." <dozzie@go.eat.some.screws.spammer.invalid> - 2017-02-03 16:30 +0000
        Re: Jak stwierdzić wielkość użytecznej wolnej pamięci? bartekltg <bartekltg@gmail.com> - 2017-02-03 18:59 +0100
          Re: Jak stwierdzić wielkość użytecznej wolnej pamięci? Borneq <borneq@antyspam.hidden.pl> - 2017-02-03 19:35 +0100
            Re: Jak stwierdzić wielkość użytecznej wolnej pamięci? Borneq <borneq@antyspam.hidden.pl> - 2017-02-03 19:41 +0100
            Re: Jak stwierdzić wielkość użytecznej wolnej pamięci? bartekltg <bartekltg@gmail.com> - 2017-02-03 20:03 +0100
              Re: Jak stwierdzić wielkość użytecznej wolnej pamięci? Borneq <borneq@antyspam.hidden.pl> - 2017-02-03 20:08 +0100
                Re: Jak stwierdzi? wielko?? u?ytecznej wolnej pami?ci? antispam@math.uni.wroc.pl - 2017-02-04 02:16 +0000
              Re: Jak stwierdzić wielkość użytecznej wolnej pamięci? Borneq <borneq@antyspam.hidden.pl> - 2017-02-07 23:42 +0100
                Re: Jak stwierdzić wielkość użytecznej wolnej pamięci? Borneq <borneq@antyspam.hidden.pl> - 2017-02-07 23:52 +0100
      Re: Jak stwierdzić wielkość użytecznej wolnej pamięci? "M.M." <mmarszik@gmail.com> - 2017-02-04 05:59 -0800
  Re: Jak stwierdzić wielkość użytecznej wolnej pamięci? Bartłomiej Golenko <bartek@zts.ita.pwr.wroc.pl> - 2017-02-21 21:40 +0000
    Re: Jak stwierdzić wielkość użytecznej wolnej pamięci? gof@somewhere.invalid (Adam Wysocki) - 2017-02-22 14:12 +0000
      Re: Jak stwierdzić wielkość użytecznej wolnej pamięci? "Stachu 'Dozzie' K." <dozzie@go.eat.some.screws.spammer.invalid> - 2017-02-22 14:30 +0000
      Re: Jak stwierdzić wielkość użytecznej wolnej pamięci? bartekltg <bartekltg@gmail.com> - 2017-02-22 15:32 +0100
        Re: Jak stwierdzić wielkość użytecznej wolnej pamięci? gof@somewhere.invalid (Adam Wysocki) - 2017-02-22 14:53 +0000
        Re: Jak stwierdzić wielkość użytecznej wolnej pamięci? "Stachu 'Dozzie' K." <dozzie@go.eat.some.screws.spammer.invalid> - 2017-02-22 15:19 +0000

csiph-web