🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.objects
Article #4992

Re: Glos na temat zasad dyskusji naukowej

#4992
From: Adam Karpierz
Date: Mon, 22 Feb 1999 16:19
56 lines
3602 bytes
lewando@ibm.net wrote:>Jak zas idzie o odsmiecanie:
>
>1. Wedle mojej najlepszej wiedzy Python nie ma odsmiecacza,
>przynajmniej dosyc swieza wersja ktora mam na swoim
>komputerze. MA MIEC, w przyszlosci, ale to bedzie Boehm, a nie
>reference coutning. Na razie ma, owszem, reference counting, ale
>to programista musi manualnie ten counter aktualizowac, i jedyne
>co moze z nim zrobic to sprawdzic jaka ma wartosc. Dosyc
>kiepski...

Przykro mi ale Panska wiedza w zakresie Pythona nie jest chyba
najlepsza. Python ma odsmiecacz oparty na reference counting od
zawsze czyli od poczatku swego istnienia.
Jakos piszac w Pythonie nigdy tez nie zdarzylo mi sie dbac o reference
counting ani nawet go sprawdzac (bo i po co sprawdzac).
Klasa ma metody __init__ i __del__ i to z reguly starcza.
Inkrementacja i dekrementacja "rererence counting" jest konieczna jedynie
w przypadku pisania modulow wbudowanych czy wrapperow w C i to "z reki".
Oczywiscie nie bronie tu faktu ze "reference counting" jest super
ale bez przesady chyba z tym wsadzaniem go do smietnika.
Da sie z nim w Pythonie calkiem niezle zyc (jakos nie jest to
zdecydowanie pierwszoplanowy problem Pythona).
Ja zauwazam jedna glowna jego wade: circular reference.
Z argumentem ze jest wolny tez mozna sie spierac, bo moze czasem
lepiej gdy wolniejszy ale rownomiernie rozlozony w czasie i zwalniajacy
pamiec na biezaco w przewidywalnym czasie i w przewidywalnym
miejscu.
Jest wersja Pythona z zastosowanym GC Bohema ale okazala sie...
m.in. wolniejsza i na razie nie  jest oficjalnie "namaszczona" przez GvR.
Problem z "prawdziwym" GC w Pythonie ma byc na tapecie w wersji
Python 2.0 ale tez jeszcze nei jest pewne czy i jak zostanie zrealizowany.

Python jest typowym 'glue language' i dlatego musi byc maly, prosty
(ale zapewniam Pana ze prostacki nie jest) i dlatego stosowanie do jego
oceny kryteriow jak do "super" jezykow typu Smalltalk czy Lisp i wymaganie
implementacji wszytskich zaawansowanych mechanizmow jest w/g mnie
cokolwiek nieporozumieniem.
To tak jakby wymagac aby Gmina Paczkow Dolny zafundowada sobie do
komunikacji ze stolica JumboJeta.

[...]
>3. Na dodatek, reference counting ma dosyc duzy "overhead" - oto
>mianowicie KAZDA operacja alokowania - zwalniania pamieci musi
>poswiecic kiloa cykli CPU na administracje.

Teoretycznie oczywiscie, ale w praktyce ilez tez procentowo moze
trwac sprawdzenie i ew inkrementacja/dekrementacja licznika (zwykly integer)
w stosunku do calej otoczki tworzenia obiektu ?.
Czy nie jest tak ze np. w Pythonie jest to czas maksymalnie rzedzu kilku %
utraty szybkosci programu ?.

Pozdrawiam
--
Adam Karpierz
Poszukuje stalej pracy, moje dane:
http://www.adares.alpha.pl/cv.htm
Technical Details
Message-ID: <7as3ui$dtr$1@proxy.intertele.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!agh.edu.pl!news.wnaft.agh.edu.pl!news.memax.krakow.pl!dumb.iinf.polsl.gliwice.pl!Eleet.iele.polsl.gliwice.pl!casper.netpol.pl!news.intertele.pl!not-for-mail
References: <199902200404.EAA69510@out5.ibm.net>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!agh.edu.pl!news.wnaft.agh.edu.pl!news.memax.krakow.pl!dumb.iinf.polsl.gliwice.pl!Eleet.iele.polsl.gliwice.pl!casper.netpol.pl!news.intertele.pl!not-for-mail
From: "Adam Karpierz" <karpierz@itl.pl>
Newsgroups: pl.comp.objects
Subject: Re: Glos na temat zasad dyskusji naukowej
Date: Mon, 22 Feb 1999 17:19:08 +0100
Organization: INTERTELE S.A. http://www.intertele.pl
Lines: 59
Message-ID: <7as3ui$dtr$1@proxy.intertele.pl>
References: <199902200404.EAA69510@out5.ibm.net>
Reply-To: "Adam Karpierz" <karpierz@itl.pl_te_spamy_wykoncza_mi_kiedys_nerwy>
NNTP-Posting-Host: ppp214.intertele.pl
X-Newsreader: Microsoft Outlook Express 4.72.3110.1
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit