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 benjamin.peterson, ezio.melotti, lemburg, pitrou, serhiy.storchaka, vstinner
Date 2016-06-19.20:10:17
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1466367021.04.0.582283428842.issue16334@psf.upfronthosting.co.za>
In-reply-to
Content
Victor's patch harvested most fruits, but there is a place for further optimization.

Benchmark results for new patch:

Py3.2        Py3.3        Py3.6        Py3.6+patch

451 (-47%)   77 (+209%)   140 (+70%)   238    decode  unicode-escape  'A'*10000
269 (-14%)   161 (+44%)   187 (+24%)   232    decode  unicode-escape  '\x80'*10000
453 (-48%)   85 (+178%)   181 (+30%)   236    decode  unicode-escape    '\x80'+'A'*9999
295 (-4%)    185 (+54%)   229 (+24%)   284    decode  unicode-escape  '\u0100'*10000
452 (-47%)   75 (+221%)   213 (+13%)   241    decode  unicode-escape    '\u0100'+'A'*9999
275 (-11%)   149 (+64%)   187 (+30%)   244    decode  unicode-escape    '\u0100'+'\x80'*9999
297 (-4%)    185 (+54%)   230 (+23%)   284    decode  unicode-escape  '\u8000'*10000
452 (-47%)   75 (+221%)   213 (+13%)   241    decode  unicode-escape    '\u8000'+'A'*9999
275 (-11%)   149 (+64%)   187 (+30%)   244    decode  unicode-escape    '\u8000'+'\x80'*9999
295 (-3%)    185 (+54%)   230 (+24%)   285    decode  unicode-escape    '\u8000'+'\u0100'*9999
318 (-29%)   203 (+11%)   220 (+2%)    225    decode  unicode-escape  '\U00010000'*10000
452 (-51%)   72 (+207%)   163 (+36%)   221    decode  unicode-escape    '\U00010000'+'A'*9999
275 (-31%)   128 (+49%)   160 (+19%)   191    decode  unicode-escape    '\U00010000'+'\x80'*9999
295 (-36%)   164 (+16%)   201 (-5%)    190    decode  unicode-escape    '\U00010000'+'\u0100'*9999
297 (-36%)   166 (+14%)   199 (-5%)    190    decode  unicode-escape    '\U00010000'+'\u8000'*9999

559 (-62%)   88 (+143%)   194 (+10%)   214    decode  raw-unicode-escape  'A'*10000
555 (-62%)   88 (+142%)   195 (+9%)    213    decode  raw-unicode-escape  '\x80'*10000
559 (-62%)   88 (+142%)   195 (+9%)    213    decode  raw-unicode-escape    '\x80'+'A'*9999
265 (+29%)   133 (+156%)  212 (+61%)   341    decode  raw-unicode-escape  '\u0100'*10000
563 (-54%)   77 (+235%)   195 (+32%)   258    decode  raw-unicode-escape    '\u0100'+'A'*9999
559 (-54%)   77 (+234%)   194 (+32%)   257    decode  raw-unicode-escape    '\u0100'+'\x80'*9999
269 (+27%)   138 (+147%)  208 (+64%)   341    decode  raw-unicode-escape  '\u8000'*10000
562 (-54%)   77 (+235%)   193 (+34%)   258    decode  raw-unicode-escape    '\u8000'+'A'*9999
559 (-54%)   77 (+234%)   194 (+32%)   257    decode  raw-unicode-escape    '\u8000'+'\x80'*9999
265 (+29%)   138 (+147%)  208 (+64%)   341    decode  raw-unicode-escape    '\u8000'+'\u0100'*9999
281 (-13%)   152 (+61%)   228 (+7%)    244    decode  raw-unicode-escape  '\U00010000'*10000
562 (-65%)   74 (+164%)   200 (-2%)    195    decode  raw-unicode-escape    '\U00010000'+'A'*9999
557 (-65%)   74 (+162%)   200 (-3%)    194    decode  raw-unicode-escape    '\U00010000'+'\x80'*9999
265 (-2%)    122 (+114%)  184 (+42%)   261    decode  raw-unicode-escape    '\U00010000'+'\u0100'*9999
269 (-3%)    122 (+113%)  185 (+41%)   260    decode  raw-unicode-escape    '\U00010000'+'\u8000'*9999


195 (+136%)  109 (+323%)  258 (+79%)   461    encode  unicode-escape  'A'*10000
673 (-23%)   522 (-1%)    254 (+103%)  516    encode  unicode-escape  '\x80'*10000
197 (+134%)  132 (+248%)  247 (+86%)   460    encode  unicode-escape    '\x80'+'A'*9999
869 (-22%)   627 (+9%)    333 (+105%)  682    encode  unicode-escape  '\u0100'*10000
197 (-19%)   124 (+28%)   158 (+1%)    159    encode  unicode-escape    '\u0100'+'A'*9999
669 (-35%)   493 (-12%)   236 (+83%)   432    encode  unicode-escape    '\u0100'+'\x80'*9999
866 (-20%)   628 (+10%)   333 (+108%)  692    encode  unicode-escape  '\u8000'*10000
197 (-19%)   125 (+27%)   158 (+1%)    159    encode  unicode-escape    '\u8000'+'A'*9999
669 (-35%)   492 (-12%)   236 (+83%)   433    encode  unicode-escape    '\u8000'+'\x80'*9999
869 (-20%)   627 (+11%)   324 (+114%)  694    encode  unicode-escape    '\u8000'+'\u0100'*9999
870 (-1%)    897 (-4%)    501 (+72%)   861    encode  unicode-escape  '\U00010000'*10000
197 (+20%)   139 (+70%)   234 (+1%)    236    encode  unicode-escape    '\U00010000'+'A'*9999
668 (-27%)   533 (-9%)    249 (+96%)   487    encode  unicode-escape    '\U00010000'+'\x80'*9999
869 (-12%)   646 (+18%)   344 (+122%)  764    encode  unicode-escape    '\U00010000'+'\u0100'*9999
864 (-12%)   643 (+19%)   344 (+122%)  762    encode  unicode-escape    '\U00010000'+'\u8000'*9999

391 (+1310%) 333 (+1556%) 575 (+859%)  5514   encode  raw-unicode-escape  'A'*10000
391 (+1229%) 334 (+1456%) 576 (+802%)  5198   encode  raw-unicode-escape  '\x80'*10000
391 (+1402%) 335 (+1653%) 579 (+914%)  5873   encode  raw-unicode-escape    '\x80'+'A'*9999
869 (-25%)   687 (-5%)    356 (+83%)   652    encode  raw-unicode-escape  '\u0100'*10000
391 (+46%)   158 (+260%)  214 (+166%)  569    encode  raw-unicode-escape    '\u0100'+'A'*9999
391 (+46%)   158 (+260%)  214 (+166%)  569    encode  raw-unicode-escape    '\u0100'+'\x80'*9999
873 (-25%)   682 (-4%)    356 (+83%)   652    encode  raw-unicode-escape  '\u8000'*10000
391 (+46%)   158 (+260%)  214 (+166%)  569    encode  raw-unicode-escape    '\u8000'+'A'*9999
391 (+46%)   157 (+262%)  214 (+166%)  569    encode  raw-unicode-escape    '\u8000'+'\x80'*9999
869 (-25%)   688 (-5%)    345 (+90%)   656    encode  raw-unicode-escape    '\u8000'+'\u0100'*9999
917 (+4%)    859 (+11%)   532 (+79%)   952    encode  raw-unicode-escape  '\U00010000'*10000
392 (-15%)   182 (+84%)   260 (+28%)   334    encode  raw-unicode-escape    '\U00010000'+'A'*9999
392 (-15%)   182 (+83%)   260 (+28%)   333    encode  raw-unicode-escape    '\U00010000'+'\x80'*9999
870 (-15%)   672 (+10%)   355 (+108%)  738    encode  raw-unicode-escape    '\U00010000'+'\u0100'*9999
871 (-16%)   672 (+9%)    355 (+106%)  730    encode  raw-unicode-escape    '\U00010000'+'\u8000'*9999
History
Date User Action Args
2016-06-19 20:10:22serhiy.storchakasetrecipients: + serhiy.storchaka, lemburg, pitrou, vstinner, benjamin.peterson, ezio.melotti
2016-06-19 20:10:21serhiy.storchakasetmessageid: <1466367021.04.0.582283428842.issue16334@psf.upfronthosting.co.za>
2016-06-19 20:10:20serhiy.storchakalinkissue16334 messages
2016-06-19 20:10:19serhiy.storchakacreate