🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.pascal
Article #92630

Re: Kolejna prowokacja do dyskusji

#92630
From: Andrzej Grażyński
Date: Wed, 24 Sep 2008 06:40
44 lines
3389 bytes
Łukasz 'Maly' Ostrowski pisze:
> Andrzej Grażyński wrote:
>>> Nie rozumiem powodu dla którego VMT lokalnych typów obiektowych
>>> nie mógłby trafić do globalnego obszaru VMT.. oprócz oczywiście
>>> kwestii zaśmiecania designersko-pierwotnie względnie małego
>>> segmentu DS.
>>>
>> Teoretycznie masz rację. Ale: 100 lokalnych obiektów, z których w
>> danym czasie zdefiniowany będzie tylko 1. 99 tablic VMT
>> bezproduktywnie zajmuje miejsce. Choć prawdę mówiąc dziś programista
>> MUSIAŁBY tak zrobić deklarując wszystkie obiekty jako globalne.
> 
> To jest nadal, powiedzmy 100 * 10 (powiedzmy średnio tyle entriesów
> jest w VMT) * 2 = 2kb - to nie jest jakaś powalająca zajętość
> 64kb DS'a. [względnie].
> 
> Pozatym, jak Pan wspomniał, jeżeli lokalnych obiektów nie można
> deklarować, to i tak kończymy na zaśmiecaniu globalnej przestrzeni
> VMT deklarując te typy globalnymi.
> 
>> I do dziś nie rozumiem: skoro tablice VMT są niezmienne, czemu nie
>> wepchano ich w kod, jak stringów i setów? Pewnie tylko dlatego, żeby
>> można tablicę VMT identyfikować wyłącznie przez offset. Szkoda im było
>> tych dwóch bajtów w VMTLink, a Getmem/New/Konstruktor i tak
>> zaokrąglało do ośmiu (w BP7 protected do czterech).
> 
> 
> Czyli jak? Zaoszczędzili na dwóch bajtach adresu, biorać sam offset
> w DS, dorzucając wyrównanie VMTów do 8b w przestrzeni DS? W
> cudzysłowiu marnując te kilka bajtów
> bajtów?
> Bzdura ;).
> 
Myślenie było takie: dla danej klasy VMT jest jedna, a instancji mogą 
być tysiące. I dlatego trzeba oszczędzać każdy bajt na instancjach. 
Całej pamięci było wtedy raptem 640K.
No ale w powietrzu krążyła już nieoficjalnie specyfikacja DPMI, z 
perspektywą 16MB pamięci fizycznej i 8K*64K = 512MB pamięci (wirtualnej) 
na stercie. I dzisiaj (bo po 15 latach kilka moich systemów Turbo 
Pascalowych ma się bardzo dobrze i są dobudowywane nowe funkcje) mam te 
512M (prawie), ale segment DS jest bliski granicy.

Wtedy nikt nie myslał o DPMI, wtedy trzeba było zrobić nową wersję TP. 
No i były już nakładki (od wersji 5.0, obiekty pojawiły się w 5.5).
Technical Details
Message-ID: <gbcndj$lbc$1@news.onet.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.astercity.net!newsfeed.atman.pl!news.nask.pl!news.nask.org.pl!news.onet.pl!not-for-mail
References: <20080905121945.03f2cdf2.solaris@be.inspired> <gb5u6p$icj$2@news.onet.pl> <gb6o7c$td5$1@news.dialog.net.pl> <gb8ish$ra6$1@news.onet.pl> <gb8p84$6ss$1@news.dialog.net.pl> <gb8t32$mv$1@news.onet.pl> <gb960q$fjg$1@news.dialog.net.pl> <gbau40$e6v$1@news.onet.pl> <gbbb7t$r4n$1@news.dialog.net.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.astercity.net!newsfeed.atman.pl!news.nask.pl!news.nask.org.pl!news.onet.pl!not-for-mail
From: Andrzej Grażyński <grazynsk@petex.com.pl>
Newsgroups: pl.comp.lang.pascal
Subject: Re: Kolejna prowokacja do dyskusji
Date: Wed, 24 Sep 2008 08:40:40 +0200
Organization: Onet.pl
Lines: 44
Message-ID: <gbcndj$lbc$1@news.onet.pl>
References: <20080905121945.03f2cdf2.solaris@be.inspired> <gb5u6p$icj$2@news.onet.pl> <gb6o7c$td5$1@news.dialog.net.pl> <gb8ish$ra6$1@news.onet.pl> <gb8p84$6ss$1@news.dialog.net.pl> <gb8t32$mv$1@news.onet.pl> <gb960q$fjg$1@news.dialog.net.pl> <gbau40$e6v$1@news.onet.pl> <gbbb7t$r4n$1@news.dialog.net.pl>
NNTP-Posting-Host: 83-238-226-107.adsl.inetia.pl
Mime-Version: 1.0
X-Trace: news.onet.pl 1222238451 21868 83.238.226.107 (24 Sep 2008 06:40:51 GMT)
X-Complaints-To: usenet@news.onet.pl
NNTP-Posting-Date: Wed, 24 Sep 2008 06:40:51 +0000 (UTC)
X-Sender: 2ysppuKZfnIJFd8Xm5/5BA==
In-Reply-To: <gbbb7t$r4n$1@news.dialog.net.pl>
User-Agent: Thunderbird 2.0.0.16 (Windows/20080708)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit