🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #215757

Re: k-d tree - jak zapisać na dysku

#215757
From: heby
Date: Wed, 24 Jul 2019 20:42
22 lines
2343 bytes
On 24/07/2019 21:58, DMR wrote:
> Kolega wyżej zasugerował coś w ten deseń - można podziałać w apriorycznie zaalokowanym bloku pamięci, a potem przeliczyć offsety wskaźników względem punktu wejścia.

Nie, żadnego liczenia offsetów. offset_ptr<> zawiera już poprawny 
offset, bez względu na to gdzie zostanie całośc załadowana. Taka 
struktura wymaga tylko załadowania pooola pamięci z dysku i odtworzenia 
*jednej* zmiennej globalnej która jest jedyną zmieniającą się wartością 
wskazującą na bufor allokatora, poola czy czegoś innego do zarządzania 
pamięcią.

Można to rozwijać dalej, np. offsety są zależne od typu i każdy typ ma 
własny allokator ładowany w dowolne miejsce pamięci aby oszczędzić 
fragmentację.

Jednak czasy 32 bitów pamięci wirtualnej słusznie mineły.

> Ma to sens?
> Czy wypocina straszna?

Takie sztuczki używałem kiedyś m.in. w kompaktującym allokatorze pamięci 
na mikrokontrolerze. Opakowane w jakiś smart_ptr<> powodowało że cała i 
skomplikowana abstrakcja była przezroczysta.
Technical Details
Message-ID: <qhafs3$mq8$1@dont-email.me>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!takemy.news.telefonica.de!telefonica.de!weretis.net!feeder7.news.weretis.net!eternal-september.org!feeder.eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
References: <702a94d6-66c4-4a33-8549-863760c66a25@googlegroups.com> <qhaao0$1ek5$2@gioia.aioe.org> <b0653439-621f-4e17-b872-98d37e183c84@googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!takemy.news.telefonica.de!telefonica.de!weretis.net!feeder7.news.weretis.net!eternal-september.org!feeder.eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: heby <heby@poczta.onet.pl>
Newsgroups: pl.comp.programming
Subject: Re: k-d tree - jak zapisać na dysku
Date: Wed, 24 Jul 2019 22:42:44 +0200
Organization: A noiseless patient Spider
Lines: 22
Message-ID: <qhafs3$mq8$1@dont-email.me>
References: <702a94d6-66c4-4a33-8549-863760c66a25@googlegroups.com> <qhaao0$1ek5$2@gioia.aioe.org> <b0653439-621f-4e17-b872-98d37e183c84@googlegroups.com>
Mime-Version: 1.0
Injection-Date: Wed, 24 Jul 2019 20:42:44 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="6105f2fbbf1216428540da636497ecf1"; logging-data="23368"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18svJ2FOibQkkOcfz5EWukf"
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0
Cancel-Lock: sha1:jEGGC2zbuVf4TQMaOZcqPwzt1ZI=
In-Reply-To: <b0653439-621f-4e17-b872-98d37e183c84@googlegroups.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit