Serhiy Storchaka added the comment: Thanks Victor! I benchmarked your patch. There is no regression in comparison with my patch. In few cases your patch is even faster!
Unpatched Patch v.4 Patch v.5 148 (+76%) 235 (+11%) 260 decode unicode-escape 'A'*10000 197 (+30%) 257 (+0%) 257 decode unicode-escape '\x80'*10000 195 (+32%) 232 (+11%) 258 decode unicode-escape '\x80'+'A'*9999 227 (+39%) 308 (+2%) 315 decode unicode-escape '\u0100'*10000 197 (+56%) 241 (+27%) 307 decode unicode-escape '\u0100'+'A'*9999 201 (+35%) 264 (+3%) 271 decode unicode-escape '\u0100'+'\x80'*9999 227 (+39%) 308 (+2%) 315 decode unicode-escape '\u8000'*10000 197 (+56%) 241 (+27%) 307 decode unicode-escape '\u8000'+'A'*9999 201 (+35%) 264 (+3%) 271 decode unicode-escape '\u8000'+'\x80'*9999 227 (+39%) 308 (+2%) 315 decode unicode-escape '\u8000'+'\u0100'*9999 200 (+26%) 245 (+2%) 251 decode unicode-escape '\U00010000'*10000 192 (+38%) 230 (+15%) 265 decode unicode-escape '\U00010000'+'A'*9999 167 (+26%) 203 (+4%) 211 decode unicode-escape '\U00010000'+'\x80'*9999 194 (+31%) 248 (+2%) 254 decode unicode-escape '\U00010000'+'\u0100'*9999 194 (+31%) 247 (+3%) 254 decode unicode-escape '\U00010000'+'\u8000'*9999 197 (+9%) 214 (+0%) 215 decode raw-unicode-escape 'A'*10000 197 (+9%) 214 (+0%) 214 decode raw-unicode-escape '\x80'*10000 197 (+9%) 214 (+0%) 214 decode raw-unicode-escape '\x80'+'A'*9999 216 (+68%) 365 (-1%) 363 decode raw-unicode-escape '\u0100'*10000 181 (+43%) 262 (-1%) 259 decode raw-unicode-escape '\u0100'+'A'*9999 181 (+43%) 264 (-2%) 258 decode raw-unicode-escape '\u0100'+'\x80'*9999 216 (+68%) 365 (-1%) 363 decode raw-unicode-escape '\u8000'*10000 181 (+43%) 261 (-1%) 259 decode raw-unicode-escape '\u8000'+'A'*9999 181 (+43%) 263 (-2%) 258 decode raw-unicode-escape '\u8000'+'\x80'*9999 216 (+68%) 365 (-1%) 363 decode raw-unicode-escape '\u8000'+'\u0100'*9999 245 (+29%) 313 (+1%) 315 decode raw-unicode-escape '\U00010000'*10000 211 (+10%) 195 (+19%) 232 decode raw-unicode-escape '\U00010000'+'A'*9999 211 (+10%) 195 (+19%) 233 decode raw-unicode-escape '\U00010000'+'\x80'*9999 192 (+51%) 287 (+1%) 289 decode raw-unicode-escape '\U00010000'+'\u0100'*9999 192 (+51%) 287 (+1%) 289 decode raw-unicode-escape '\U00010000'+'\u8000'*9999 269 (+73%) 424 (+10%) 465 encode unicode-escape 'A'*10000 266 (+108%) 591 (-6%) 553 encode unicode-escape '\x80'*10000 298 (+55%) 423 (+9%) 463 encode unicode-escape '\x80'+'A'*9999 358 (+93%) 695 (-0%) 692 encode unicode-escape '\u0100'*10000 190 (+13%) 215 (+0%) 215 encode unicode-escape '\u0100'+'A'*9999 235 (+109%) 520 (-5%) 492 encode unicode-escape '\u0100'+'\x80'*9999 342 (+102%) 695 (-1%) 691 encode unicode-escape '\u8000'*10000 190 (+13%) 215 (+0%) 215 encode unicode-escape '\u8000'+'A'*9999 235 (+109%) 520 (-5%) 492 encode unicode-escape '\u8000'+'\x80'*9999 367 (+89%) 698 (-1%) 694 encode unicode-escape '\u8000'+'\u0100'*9999 531 (+124%) 915 (+30%) 1190 encode unicode-escape '\U00010000'*10000 196 (+20%) 235 (+0%) 236 encode unicode-escape '\U00010000'+'A'*9999 237 (+104%) 506 (-4%) 484 encode unicode-escape '\U00010000'+'\x80'*9999 325 (+111%) 681 (+1%) 687 encode unicode-escape '\U00010000'+'\u0100'*9999 325 (+117%) 681 (+3%) 704 encode unicode-escape '\U00010000'+'\u8000'*9999 578 (+853%) 5672 (-3%) 5507 encode raw-unicode-escape 'A'*10000 578 (+731%) 4761 (+1%) 4806 encode raw-unicode-escape '\x80'*10000 581 (+760%) 5218 (-4%) 4995 encode raw-unicode-escape '\x80'+'A'*9999 365 (+96%) 714 (+0%) 714 encode raw-unicode-escape '\u0100'*10000 226 (+72%) 389 (+0%) 389 encode raw-unicode-escape '\u0100'+'A'*9999 226 (+72%) 389 (+0%) 389 encode raw-unicode-escape '\u0100'+'\x80'*9999 373 (+91%) 715 (-0%) 714 encode raw-unicode-escape '\u8000'*10000 226 (+72%) 389 (+0%) 389 encode raw-unicode-escape '\u8000'+'A'*9999 226 (+72%) 389 (+0%) 389 encode raw-unicode-escape '\u8000'+'\x80'*9999 366 (+96%) 718 (+0%) 719 encode raw-unicode-escape '\u8000'+'\u0100'*9999 537 (+110%) 879 (+28%) 1128 encode raw-unicode-escape '\U00010000'*10000 214 (+37%) 293 (+0%) 294 encode raw-unicode-escape '\U00010000'+'A'*9999 214 (+37%) 293 (+0%) 294 encode raw-unicode-escape '\U00010000'+'\x80'*9999 342 (+96%) 669 (+0%) 669 encode raw-unicode-escape '\U00010000'+'\u0100'*9999 342 (+96%) 669 (+0%) 669 encode raw-unicode-escape '\U00010000'+'\u8000'*9999 Could you please add NEWS and What's New entries? ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue16334> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com