Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > cz.comp.lang.python > #3134

Re: [python] Rekurzivní generátor v Pythonu 3?

Path csiph.com!news.mixmin.net!news.unit0.net!news.netfront.net!not-for-mail
From Ondrej Tuma <konference@webjet.cz>
Newsgroups cz.comp.lang.python
Subject Re: [python] Rekurzivní generátor v Pythonu 3?
Date Tue, 30 Aug 2016 16:09:29 +0200
Organization Blackmouse
Lines 165
Message-ID <mailman.31.1472624712.13667.python@py.cz> (permalink)
References <8a02dd40-db1a-4f1f-9f67-de14e49b5546@googlegroups.com> <mailman.23.1472408594.13667.python@py.cz> <slrnnsal28.ing.mcepl@mitmanek.ceplovi.cz> <CAK9Q5BTtMaeY3OiOB893JAJL2aqecERYeUC5Mok2ixFJQfG74w@mail.gmail.com>
NNTP-Posting-Host 94.23.32.179
Mime-Version 1.0
Content-Type multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="=_hugo5.zagamma.cz-12958-1472566171-0001-2"
X-Trace adenine.netfront.net 1472862438 18143 94.23.32.179 (3 Sep 2016 00:27:18 GMT)
X-Complaints-To news@netfront.net
NNTP-Posting-Date Sat, 3 Sep 2016 00:27:18 +0000 (UTC)
To python@py.cz
Received-SPF pass (Address passes the Sender Policy Framework) SPF=MAILFROM; sender=konference@webjet.cz; remoteip=::ffff:195.146.111.106; remotehost=; helo=mail.webjet.cz; receiver=hugo.zagamma.cz;
In-Reply-To <CAK9Q5BTtMaeY3OiOB893JAJL2aqecERYeUC5Mok2ixFJQfG74w@mail.gmail.com>
X-Mailer Claws Mail 3.11.1 (GTK+ 2.24.25; x86_64-pc-linux-gnu)
X-BeenThere python@py.cz
X-Mailman-Version 2.1.20
Precedence list
List-Id Konference PyCZ <python.py.cz>
List-Unsubscribe <http://www.py.cz/mailman/options/python>, <mailto:python-request@py.cz?subject=unsubscribe>
List-Archive <http://www.py.cz/pipermail/python/>
List-Post <mailto:python@py.cz>
List-Help <mailto:python-request@py.cz?subject=help>
List-Subscribe <http://www.py.cz/mailman/listinfo/python>, <mailto:python-request@py.cz?subject=subscribe>
Xref csiph.com cz.comp.lang.python:3134

Show key headers only | View raw


[Multipart message — attachments visible in raw view] - view raw

Zdravím vespolek,

kolega toto téma řešil tak před třemi lety a došel k závěru že je to
jedno. Resp. v každé verzi to bylo jinak. Pravda vstupovali do toho
i verze 2.x. Asi taky záleží jak moc jsou ty texty konstantní,
resp. jako moc jsou dynamické, v jakém kompilátoru s jakými přepínači je
pythoní interpretr kompilovaný a ad absurdum na jakém HW to běží.

Ondra

V Tue, 30 Aug 2016 12:28:30 +0200
Petr Messner <petr.messner@gmail.com> napsáno:

> To je veselé, když někdo dělá benchmark profilerem.
> 
> $ cat test_plus.py
> out = ''
> for i in range(10000000):
>     out += 'Nebudu komentovat rychlost algoritmů bez měření'
> $ cat test_append.py
> out = []
> for i in range(10000000):
>     out.append('Nebudu komentovat rychlost algoritmů bez měření')
> outstr = ''.join(out)
> $ time python3 test_plus.py
> 
> real 0m2.835s
> user 0m2.536s
> sys 0m0.288s
> $ time python3 test_append.py
> 
> real 0m1.848s
> user 0m1.588s
> sys 0m0.256s
> 
> 
> 
> Dne 30. srpna 2016 11:39 Matěj Cepl <mcepl@cepl.eu> napsal(a):
> 
> > On 2016-08-28, 10:54 GMT, Petr Messner wrote:
> > > Na tohle se vykašli. Jakmile dokument nemá stromovou
> > > strukturu, tak je vše tisíckrát složitější. Dikybohu toto XML
> > > neumí.
> >
> > Tohle je rada s odpuštěním na h... Ten vstupní datový formát mám
> > daný, s tím nemůžu nic dělat.
> >
> > > nedělej skládání řetězců stylem txt += part, je to strašně
> > > pomalé (O(n^2) místo O(n))..  Z txt si udělej list a používej
> > > append: txt.append(part) a na konci "".join(txt).
> >
> > To je veselé jak tyhle pověry drží. Tohle bylo opraveno
> > v pythonu 2.5 (pokud se nemýlím).
> >
> >     ~$ cat test_plus.py
> >     out = ''
> >     for i in range(10000000):
> >         out += 'Nebudu komentovat rychlost algoritmů bez měření'
> >     ~$ python3 -mcProfile test_plus.py
> >              3 function calls in 1.970 seconds
> >
> >        Ordered by: standard name
> >
> >        ncalls  tottime  percall  cumtime  percall
> > filename:lineno(function) 1    1.970    1.970    1.970    1.970
> > test_plus.py:1(<module>) 1    0.000    0.000    1.970    1.970
> > {built-in method exec} 1    0.000    0.000    0.000    0.000
> > {method 'disable' of '_lsprof.Profiler' objects}
> >
> >
> >     ~$ cat test_append.py
> >     out = []
> >     for i in range(10000000):
> >         out.append('Nebudu komentovat rychlost algoritmů bez
> > měření') outstr = ''.join(out)
> >     ~$ python3 -mcProfile test_append.py
> >              10000004 function calls in 3.331 seconds
> >
> >        Ordered by: standard name
> >
> >        ncalls  tottime  percall  cumtime  percall
> > filename:lineno(function) 1    1.845    1.845    3.331    3.331
> > test_append.py:1(<module>)
> >             1    0.000    0.000    3.331    3.331 {built-in method
> > exec} 10000000    0.528    0.000    0.528    0.000 {method 'append'
> > of 'list' objects}
> >             1    0.000    0.000    0.000    0.000 {method 'disable'
> > of '_lsprof.Profiler' objects}
> >             1    0.959    0.959    0.959    0.959 {method 'join' of
> > 'str' objects}
> >
> >     ~$
> >
> > Hezký den,
> >
> > Matěj
> >
> > --
> > https://matej.ceplovi.cz/blog/, Jabber: mcepl@ceplovi.cz
> > GPG Finger: 3C76 A027 CA45 AD70 98B5  BC1D 7920 5802 880B C9D8
> >
> > You either die a hero or you live long enough to see yourself
> > become the villain.
> >   -- Harvey Dent in The Dark Knight
> > _______________________________________________
> > Python mailing list
> > python@py.cz
> > http://www.py.cz/mailman/listinfo/python
> >
> > Visit: http://www.py.cz
> >



-- 
Ondřej Tůma <mcbig@zeropage.cz>
www: http://ipv6.mcbig.cz   jabber: mcbig@jabber.cz   twitter: mcbig_cz

Back to cz.comp.lang.python | Previous | NextPrevious in thread | Find similar


Thread

Rekurzivní generátor v Pythonu 3? Matěj Cepl <mcepl@cepl.eu> - 2016-08-27 14:09 -0700
  Re: [python] Rekurzivní generátor v Pythonu 3? Matěj Cepl <mcepl@cepl.eu> - 2016-08-30 11:39 +0200
    Re: [python] Rekurzivní generátor v Pythonu 3? Matěj Cepl <mcepl@cepl.eu> - 2016-08-31 11:58 +0200
    Re: [python] Rekurzivní generátor v Pythonu 3? Ondrej Tuma <konference@webjet.cz> - 2016-08-30 16:09 +0200

csiph-web