eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › k-d tree - jak zapisać na dysku
Ilość wypowiedzi w tym wątku: 16

  • 11. Data: 2019-07-29 08:55:19
    Temat: Re: k-d tree - jak zapisać na dysku
    Od: g...@g...com

    W dniu środa, 24 lipca 2019 20:23:09 UTC+2 użytkownik heby napisał:
    > On 24/07/2019 19:25, DMR wrote:
    > > Misterna i wyrafinowana struktura poszyta wskaźnikami została utworzona w
    pamięci, a teraz trzeba ją zapisać na dysku - tak, żeby się przy wczytywaniu jak
    najszybciej odtworzyła w stanie "operacyjnym".
    > > Jakieś równie wyrafinowane pomysły? :-)
    >
    > Może taki: wybierz sobie jakiś adres z przepastnej przestrzeni 64bit i
    > zarezerwuj go systemowo. Potem zrób allokator przydzielający obiekty
    > tylko w tym rejonie.
    >
    > Zapis i odczyt staje się wtedy trywialny.

    Pomysł w istocie zajebisty.
    A teraz zagadka: co się stanie,
    gdy dwóch użytkowników zechce
    w tym samym czasie skorzystać
    z tego programu?

    Pomysł z własnym alokatorem
    jest ok: niech Twoja aplikacja
    alokuje sobie tylko jeden blok
    pamięci przy pomocy malloc
    (nazwijmy go base), a Twój alokator
    będzie przydzielał adresy jako
    ofsety względem base, tak że efektywny
    adres to będzie base+offset.

    Po stronie asemblera takie rozwiązanie
    nie wydłuży czasu dostępu do pamięci,
    bo przynajmniej intel koduje dodawanie
    bazy i offsetu w jednej instrukcji
    adresowania pośredniego.

    Później tylko zrzucasz zaalokowany kawałek
    pamięci do pliku binarnego.

    Przy ładowaniu podobnie - alokujesz sobie
    tyle pamięci, ile zajmuje plik binarny
    (otrzymany adres to Twój nowy base)
    i ładujesz zawartość pliku pod ten adres.

    Ponieważ ta technika nie ma większego
    związku z drzewami k-wymiarowymi, jako
    bonus do odpowiedzi załączam link do
    implementacji kd-tree, którą kiedyś
    robiłem na studia. Jest oczywiście
    w Lispie (no a w czym), ale nie zajmowałem
    się tam zagadnieniem serializacji:
    https://bitbucket.org/panicz/studies/src/default/geo
    metria-grafy-algorytmy/lab3/kd.scm


  • 12. Data: 2019-07-29 09:26:22
    Temat: Re: k-d tree - jak zapisać na dysku
    Od: heby <h...@p...onet.pl>

    On 29/07/2019 08:55, g...@g...com wrote:
    > Pomysł w istocie zajebisty.
    > A teraz zagadka: co się stanie,
    > gdy dwóch użytkowników zechce
    > w tym samym czasie skorzystać
    > z tego programu?

    Myślę że rozwiązaliśmy to w latach 60tych pamięcią wirtualną procesów.

    Jesli zasz zastanawia Cie co jeśli to oprogramowanie serwerowe z
    wielodostepem to autor pytania nic nie napisał więc może to być nie
    tylko pytanie o serwer ale o np. serwer na 6502. I wtedy cokolwiek nie
    wymyślisz to dupa. Założenie więc jakieś minimalne musiało zostać
    wyssane z palca, że system jest z pamięcią wirtualną i że takie drzewo
    jest jedno. Ponadto tworzenie osobnych procesów nie jest reglamentowane
    obecnie w żaden sposób poza RAMem i może resourcami, ale to windows.

    Jeśli zaś naprawdę chcesz wnikać bardzo głęboko do dalej jest możliwy
    wielodostęp z zafixowanym adresem pamięci. To tylko kwestia dodania
    numeru allokatora do zrzucanego pliku. Masz troche exbibajtów do
    wykorzystania, dasz sobie radę z pomieszczeniem się N razy a pamięci.
    Myślę że możesz zacząć się martwić przy miliardzie userów na raz.


  • 13. Data: 2019-07-29 11:36:26
    Temat: Re: k-d tree - jak zapisać na dysku
    Od: fir <p...@g...com>

    W dniu środa, 24 lipca 2019 19:25:15 UTC+2 użytkownik DMR napisał:
    > Misterna i wyrafinowana struktura poszyta wskaźnikami została utworzona w pamięci,
    a teraz trzeba ją zapisać na dysku - tak, żeby się przy wczytywaniu jak najszybciej
    odtworzyła w stanie "operacyjnym".
    > Jakieś równie wyrafinowane pomysły? :-)

    jak dla mnie jest to dosyc żenujace pytanie

    w popkulturze funkcjonuje jakies powiedzenie "nie ma glupich pytan" ale
    w praktycznym programowaniu bywa mocno odwrotnie: duzo pytan jest mega glupie (mega
    glupich)

    dlatego szczerze mowiac trzbby bardzo uwazac o co sie pyta i na co sie odpowiada

    [i jest to dosyc trudna kwestia, poruszyc takie pytania by przynioslo to wyjatkowo
    uzyteczny rezultat..zwlaszcza ze rozni ludzi interesuja sie nieco roznymi rzeczami
    (ja ostatnio znowu nieco zainteresowalem sie pisaniem na androida)]


  • 14. Data: 2019-07-29 16:04:01
    Temat: Re: k-d tree - jak zapisać na dysku
    Od: fir <p...@g...com>

    W dniu poniedziałek, 29 lipca 2019 11:36:27 UTC+2 użytkownik fir napisał:
    > W dniu środa, 24 lipca 2019 19:25:15 UTC+2 użytkownik DMR napisał:
    > > Misterna i wyrafinowana struktura poszyta wskaźnikami została utworzona w
    pamięci, a teraz trzeba ją zapisać na dysku - tak, żeby się przy wczytywaniu jak
    najszybciej odtworzyła w stanie "operacyjnym".
    > > Jakieś równie wyrafinowane pomysły? :-)
    >
    > jak dla mnie jest to dosyc żenujace pytanie
    >
    > w popkulturze funkcjonuje jakies powiedzenie "nie ma glupich pytan" ale
    > w praktycznym programowaniu bywa mocno odwrotnie: duzo pytan jest mega glupie (mega
    glupich)
    >
    > dlatego szczerze mowiac trzbby bardzo uwazac o co sie pyta i na co sie odpowiada
    >
    > [i jest to dosyc trudna kwestia, poruszyc takie pytania by przynioslo to wyjatkowo
    uzyteczny rezultat..zwlaszcza ze rozni ludzi interesuja sie nieco roznymi rzeczami
    (ja ostatnio znowu nieco zainteresowalem sie pisaniem na androida)]

    jesttak dlatego (jak juz zdaje sie pisalem) ze wiele pytan, i zwiazanych z nimi
    odpowiedzi, spowalnia cie (mnie) lokujac cie w jakiejs cyfrowej d00p1e
    - podczas gdy czlowiek nauczywszy sie omijac te spowalniacze moglby naprawde zrobic i
    nauczyc sie duzo wiecej, bez porownania wiecej i szybciej

    jest to cos co mnie ostatnio trapi, dlatego z nichecia patrze na fora i takie na nich
    pytania... (choc sam oczywiscie robilem kiedy mega duzo bledow tego typu) od pewnego
    czasu sam lekko nauczylem sie zreszta chyab podchodzic do sprawy bardziej
    profesjonalnie i tak nie utykac w
    tych programistycznych 'pitstopach'
    ale oczywiscie ciagle bardzo duzo mi brakuje

    generalnie wiadomo z grubsza jednak o co chodzi, ludzie powinni sie nauczyc (ci
    ktorzy chca sprawnie kodowac) bardziej myslec o projektach 'napisanych' /
    'przelecianych' od poczatku do konca sprawnie i szybko a nie tkwic za bardzo w
    problemowych dziurach

    dla forum problem jest podwujny bo o ile tak szybko leciec z projektami pewnie jakos
    mozna sie nauczyc to by dyskutowac o tym na forum potrzeba juz co najmniej dwu ludzi
    to potrafiacych, potrafiacych tez o tym pisac (a porzebne by bylo pisanie z pewnymi
    szczegolami), chetnych tez skupic sie na tym samym temacie itd itp


  • 15. Data: 2019-07-29 16:11:38
    Temat: Re: k-d tree - jak zapisać na dysku
    Od: DMR <m...@g...com>

    Choć jestem jeno pyłem i prochem marnym, to mnie się cały czas zdaje, że piszemy tu o
    tym samym... :-)


  • 16. Data: 2019-07-29 16:15:13
    Temat: Re: k-d tree - jak zapisać na dysku
    Od: DMR <m...@g...com>

    > jak dla mnie jest to dosyc żenujace pytanie


    Być może czegoś nie rozumiesz.
    Ucz się, ucz! Bo nauka to potęgi klucz! :-)

strony : 1 . [ 2 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: