Article View: pl.comp.lang.perl
Article #52493Re: Perl tablice
From: Stachu 'Dozzie' K.
Date: Mon, 24 Dec 2012 00:39
Date: Mon, 24 Dec 2012 00:39
45 lines
3438 bytes
3438 bytes
On 2012-12-24, Anonim Anonimowy <amkrankruleuen@gmail.com> wrote:
[...]
>> A teraz opisz, w jaki sposób się różni twoje rozwiązanie od FIFO.
>>
>> I wyjaśnij, czemu uważasz przepisywanie za każdym razem wszystkich stu
>> elementów (i to dwukrotnie!) za szybkie.
> Ty zakładasz, że ja chcę w pewien sposób kolejkować odczytywane elementy, a mi zależy na tablicy którą będę mógł odczytać w dowolny sposób, np. środkowy element w czasie rzeczywistym, zapytałem ogólnie, a nie do konkretnego zastosowania.
Bo wiesz, FIFO o stałym maksymalnym rozmiarze się nie da zrobić na
tablicy. Tylko cicho o tym, bo jak się mój kod o tym dowie, to
przestanie działać.
A ten "czas rzeczywisty", mój drogi, to się nazywa czasem stałym
("O(1)").
> Po drugie jakie jakie dwukrotne przepisywanie?! Matematyka się kłania...
> Załóżmy, że mam tablice i wykonam takie operacje:
> @array = (1..10);
> @array = @array[0..3];
>
> Gdzie tu dwukrotne przepisanie?
A jak dokładasz element na początku tablicy, jeszcze przed tym kodem, to
niby co się robi? Hyc, i system operacyjny alokuje miejsce przed
tablicą? W garbate aniołki może wierzysz?
> Co więcej głowy sobie uciąć nie dam, że perl nie jest wyczulony na tego typu operacje i nie przepisze danych na zupełnie nowe adresy tylko po prostu skróci tablice zamiast całą przepisywać.
Tego by się można spodziewać po pop(), a nie po przypisaniu z zakresem.
Nie za dużo ty wymagasz od optymalizatora, który ma być przede wszystkim
szybki, a nie dawać szybki kod?
> Moja tablica będzie po prostu z czasem zapełniana elementami, a mi
> zależy na tym, żeby tych elementów nigdy nie było więcej niż 100,
> dodanie nowego elementu nie wiąże się z tym, że na pewno w tym samym
> czasie chce odczytać tablice...
To po prostu ignoruj dopisanie wszystkiego, co próbuje wleźć do
zapełnionej tablicy. Chyba że znowu spieprzyłeś sprawę nieprecyzyjnie
opisując oczekiwany skutek.
--
Secunia non olet.
Stanislaw Klekot
Technical Details
Message-ID:
<slrnkdf92o.ni1.dozzie@jarowit.net>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!news.supermedia.pl!newsfeed.pionier.net.pl!feeder.erje.net!eu.feeder.erje.net!weretis.net!feeder1.news.weretis.net!news.solani.org!.POSTED!not-for-mailReferences:
<afbdca47-192b-4596-ba38-f400620b9a76@googlegroups.com> <slrnkdeqet.ni1.dozzie@jarowit.net> <7e56a750-b82c-4bc8-ae2d-7a96d058573e@googlegroups.com> <slrnkdf3fk.ni1.dozzie@jarowit.net> <6a88da03-9dc7-4dc4-9694-9c11382d552b@googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!news.supermedia.pl!newsfeed.pionier.net.pl!feeder.erje.net!eu.feeder.erje.net!weretis.net!feeder1.news.weretis.net!news.solani.org!.POSTED!not-for-mail From: "Stachu 'Dozzie' K." <dozzie@go.eat.some.screws.spammer.invalid> Newsgroups: pl.comp.lang.perl Subject: Re: Perl tablice Date: Mon, 24 Dec 2012 00:39:48 +0000 (UTC) Organization: solani.org Lines: 45 Message-ID: <slrnkdf92o.ni1.dozzie@jarowit.net> References: <afbdca47-192b-4596-ba38-f400620b9a76@googlegroups.com> <slrnkdeqet.ni1.dozzie@jarowit.net> <7e56a750-b82c-4bc8-ae2d-7a96d058573e@googlegroups.com> <slrnkdf3fk.ni1.dozzie@jarowit.net> <6a88da03-9dc7-4dc4-9694-9c11382d552b@googlegroups.com> Mime-Version: 1.0 X-Trace: solani.org 1356309588 9299 eJwFwQEBACAIA7BK4uFoHLzSP4JbgEalM+jR0U+wlWdKKkv67UYt3ZubLFVtISdGOM7A2x8z4hGN (24 Dec 2012 00:39:48 GMT) X-Complaints-To: abuse@news.solani.org NNTP-Posting-Date: Mon, 24 Dec 2012 00:39:48 +0000 (UTC) User-Agent: slrn/pre1.0.0-18 (Linux) X-User-ID: eJwFwQkBwDAIA0BLoQ2B2RmPfwm98ytTBeWir2/uhxN72AROwv+OEJiduDWmJDROq5q22Af9YRBE Cancel-Lock: sha1:rGaJg7C1bITRkcfUeevouX/BKz4= X-NNTP-Posting-Host: eJwFwYEBACAEBMCViP8YR9L+I3QHo7K3E3Q8vDaKPPU7R6rmVG/2JMNhVheRMr6igNRZhQ8o7hEp Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit