This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author serhiy.storchaka
Recipients Arfrever, asvetlov, ezio.melotti, pitrou, serhiy.storchaka, vstinner
Date 2012-06-14.20:29:51
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1339705805.6648.25.camel@raxxla>
In-reply-to <1339580270.04.0.117108723999.issue15026@psf.upfronthosting.co.za>
Content
Thank you, Antoine.

> 3327 (+360%) 15304  encode  utf-16le  'A'*10000
> 3314 (+335%) 14413  encode  utf-16le  '\x80'*10000
> 3290 (+357%) 15036  encode  utf-16be    '\x80'+'A'*9999

It must be a fluctuation (-30-40%). For all UCS1 strings the same code
is used.

> 1598 (-42%)  930    encode  utf-16be  '\U00010000'*10000

This is most likely the fluctuation too. Code for non-BMP characters is
different from the code for other characters in UCS4 string, but
unlikely a difference is 1.5x. Reproduced whether this result?

On 32-bit Linux, Intel Atom N570 @ 1.66GHz:

Py2.7        Py3.2        Py3.3        patched

273 (+229%)  274 (+227%)  333 (+169%)  897    encode  utf-16le  'A'*10000
274 (+226%)  275 (+225%)  334 (+168%)  894    encode  utf-16le  '\x80'*10000
274 (+231%)  275 (+230%)  334 (+172%)  908    encode  utf-16le    '\x80'+'A'*9999
273 (+752%)  275 (+746%)  276 (+743%)  2326   encode  utf-16le  '\u0100'*10000
274 (+695%)  275 (+692%)  276 (+689%)  2177   encode  utf-16le    '\u0100'+'A'*9999
274 (+739%)  275 (+736%)  276 (+733%)  2300   encode  utf-16le    '\u0100'+'\x80'*9999
274 (+739%)  275 (+736%)  276 (+733%)  2298   encode  utf-16le  '\u8000'*10000
274 (+697%)  274 (+697%)  276 (+691%)  2184   encode  utf-16le    '\u8000'+'A'*9999
274 (+741%)  274 (+741%)  277 (+731%)  2303   encode  utf-16le    '\u8000'+'\x80'*9999
274 (+770%)  275 (+767%)  276 (+764%)  2384   encode  utf-16le    '\u8000'+'\u0100'*9999
279 (+51%)   279 (+51%)   217 (+94%)   422    encode  utf-16le  '\U00010000'*10000
274 (+6%)    274 (+6%)    162 (+79%)   290    encode  utf-16le    '\U00010000'+'A'*9999
274 (+6%)    274 (+6%)    162 (+79%)   290    encode  utf-16le    '\U00010000'+'\x80'*9999
273 (+5%)    275 (+5%)    162 (+78%)   288    encode  utf-16le    '\U00010000'+'\u0100'*9999
274 (+5%)    275 (+5%)    162 (+78%)   288    encode  utf-16le    '\U00010000'+'\u8000'*9999

274 (+152%)  275 (+151%)  334 (+107%)  690    encode  utf-16be  'A'*10000
274 (+154%)  275 (+153%)  334 (+109%)  697    encode  utf-16be  '\x80'*10000
274 (+152%)  275 (+151%)  333 (+108%)  691    encode  utf-16be    '\x80'+'A'*9999
274 (+146%)  275 (+145%)  276 (+145%)  675    encode  utf-16be  '\u0100'*10000
274 (+146%)  275 (+145%)  276 (+145%)  675    encode  utf-16be    '\u0100'+'A'*9999
274 (+145%)  275 (+144%)  276 (+143%)  671    encode  utf-16be    '\u0100'+'\x80'*9999
274 (+145%)  275 (+144%)  276 (+143%)  672    encode  utf-16be  '\u8000'*10000
275 (+147%)  275 (+147%)  276 (+146%)  680    encode  utf-16be    '\u8000'+'A'*9999
274 (+146%)  275 (+145%)  276 (+144%)  674    encode  utf-16be    '\u8000'+'\x80'*9999
275 (+143%)  275 (+143%)  276 (+142%)  667    encode  utf-16be    '\u8000'+'\u0100'*9999
279 (+26%)   279 (+26%)   217 (+62%)   351    encode  utf-16be  '\U00010000'*10000
274 (-2%)    275 (-3%)    162 (+65%)   268    encode  utf-16be    '\U00010000'+'A'*9999
274 (-2%)    275 (-3%)    162 (+65%)   268    encode  utf-16be    '\U00010000'+'\x80'*9999
274 (-4%)    275 (-4%)    162 (+63%)   264    encode  utf-16be    '\U00010000'+'\u0100'*9999
274 (-3%)    275 (-4%)    162 (+64%)   265    encode  utf-16be    '\U00010000'+'\u8000'*9999
History
Date User Action Args
2012-06-14 20:29:52serhiy.storchakasetrecipients: + serhiy.storchaka, pitrou, vstinner, ezio.melotti, Arfrever, asvetlov
2012-06-14 20:29:52serhiy.storchakalinkissue15026 messages
2012-06-14 20:29:51serhiy.storchakacreate