Honza Král
E-Mail: [email protected]
Phone:  +420 606 678585

2016-08-28 17:40 GMT+02:00 Petr Messner <[email protected]>:
> Díky Honzo za odkaz.
>
> Jinak - Python, Ruby, Java, C++, na jazyku nezáleží... Musím vědět, jestli 
> daná operace manipuluje s některým svým operandem, nebo vytváří novou 
> hodnotu. A protože jsou stringy v Pythonu immutable, tak jako programátor 
> bych měl tušit, že se bude kopírovat. A dát si pozor na případy, kdy se bude 
> kopírovat furt dokola.
>
> Že to pypy nějak umí optimalizovat je hezké, ale i kdybych ho používal, tak 
> fakt není dobré spoléhat se na to, že mi překladač opraví chybu v samotném 
> návrhu algoritmu.

stale plati, ze mnohem dulezitejsi nez kompilator je programator -
pouzivam tak to, co dava z hlediska kodu (nikoli kompilatoru nejvetsi
smysl). Python s tim pocita a je na to zarizeny.

Snazit se o takove optimalizace vetsinou prinasi vice problemu nez
uzitku. A to i kdyz odhledneme od problemu spojenych s tim, ze python
ma nekolik implementaci ktere se chovaji jinak.


>
> Petr Messner
>
> 28. 8. 2016 v 17:04, Honza Král <[email protected]>:
>
>> 2016-08-28 16:51 GMT+02:00 Jirka Vejrazka <[email protected]>:
>>> Jenom poznamka ne okraj:
>>>
>>> "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)."
>>>
>>> Tohle platilo nekdy do vydani Pythonu 2.5. V te verzi bylo spojovani retezcu
>>> pomoci += vyrazne zrychleno a dnes uz to neni takove vykonove omezeni, jako
>>> driv.
>>
>> Pokud je tech textu vice, .join() je stale lepsi, vice detailu:
>> https://youtu.be/odjpaKL-Fsg?t=20m45s
>>
>>>
>>> Ale je fakt, ze ''.join pouzivam ze zvyku taky :)
>>>
>>>  Jirka
>>>
>>>> On 28 August 2016 at 13:52, Petr Messner <[email protected]> wrote:
>>>>
>>>>
>>>> co takhle tohle?
>>>>
>>>>
>>>> <verse>a b <mark sID="x"> c d</verse><verse>e f<mark eID="x"> g h</verse>
>>>>
>>>>
>>>> Oprava:
>>>>
>>>> <verse>a b <mark sID="x"/> c d</verse><verse>e f<mark eID="x"/> g
>>>> h</verse>
>>>>
>>>> PM
>>>>
>>>> _______________________________________________
>>>> Python mailing list
>>>> [email protected]
>>>> http://www.py.cz/mailman/listinfo/python
>>>>
>>>> Visit: http://www.py.cz
>>>
>>>
>>>
>>> _______________________________________________
>>> Python mailing list
>>> [email protected]
>>> http://www.py.cz/mailman/listinfo/python
>>>
>>> Visit: http://www.py.cz
>> _______________________________________________
>> Python mailing list
>> [email protected]
>> http://www.py.cz/mailman/listinfo/python
>>
>> Visit: http://www.py.cz
> _______________________________________________
> Python mailing list
> [email protected]
> http://www.py.cz/mailman/listinfo/python
>
> Visit: http://www.py.cz
_______________________________________________
Python mailing list
[email protected]
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

Odpovedet emailem