-
X-Received: by 2002:ac8:6747:: with SMTP id n7mr72226317qtp.19.1564383319605; Sun, 28
Jul 2019 23:55:19 -0700 (PDT)
X-Received: by 2002:ac8:6747:: with SMTP id n7mr72226317qtp.19.1564383319605; Sun, 28
Jul 2019 23:55:19 -0700 (PDT)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.man.lodz.pl!newsfeed.pionier.net.p
l!2.eu.feeder.erje.net!4.us.feeder.erje.net!feeder.erje.net!weretis.net!feeder6
.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!bo
rder1.nntp.dca1.giganews.com!nntp.giganews.com!b26no2546415qtq.0!news-out.googl
e.com!a5ni342qtd.0!nntp.google.com!b26no2546412qtq.0!postnews.google.com!glegro
upsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Sun, 28 Jul 2019 23:55:19 -0700 (PDT)
In-Reply-To: <qha7mb$6bv$1@dont-email.me>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=31.0.39.186;
posting-account=f7iIKQoAAAAkDKpUafc-4IXhmRAzdB5r
NNTP-Posting-Host: 31.0.39.186
References: <7...@g...com>
<qha7mb$6bv$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <2...@g...com>
Subject: Re: k-d tree - jak zapisać na dysku
From: g...@g...com
Injection-Date: Mon, 29 Jul 2019 06:55:19 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 54
Xref: news-archive.icm.edu.pl pl.comp.programming:213707
[ ukryj nagłówki ]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
Następne wpisy z tego wątku
Najnowsze wątki z tej grupy
- 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?
- 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
Najnowsze wątki
- 2024-12-04 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2024-12-04 Czy policjantów należy ROZBROIĆ?
- 2024-12-03 Tymoteusz Sz.
- 2024-12-03 Re: Prezydent ułaskawia: Prezydent USA Biden (D) ułaskawia syna własnego
- 2024-12-03 Re: Tani dodatkowy sim do smartwacha
- 2024-12-03 Wróblewo => Analityk finansowy <=
- 2024-12-03 Praktyczny test GPS...
- 2024-12-02 Tak się sprzedają elektryczne woldzwageny ;-)
- 2024-12-02 Akumulator do Hyundai
- 2024-12-02 Olsztyn => Sales Specialist <=
- 2024-12-02 Poznań => Technical Artist <=
- 2024-12-02 Bieruń => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-12-02 Kraków => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2024-12-02 Chrzanów => Team Lead / Tribe Lead FrontEnd <=
- 2024-12-02 Białystok => Delphi Programmer <=