Result of a micro-benchmark with encode_ucs1_surrogateescape-2.patch.
Common platform:
Timer info: namespace(adjustable=False, implementation='clock_gettime(CLOCK_MONOTONIC)', monotonic=True, resolution=1e-09)
Timer: time.perf_counter
CPU model: Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
Python unicode implementation: PEP 393
Platform: Linux-4.1.6-200.fc22.x86_64-x86_64-with-fedora-22-Twenty_Two
CFLAGS: -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes
Bits: int=32, long=64, long long=64, size_t=64, void*=64
Platform of campaign before:
Date: 2015-09-24 16:12:35
Timer precision: 54 ns
Python version: 3.6.0a0 (default:fa65c32d7134, Sep 24 2015, 16:11:44) [GCC 5.1.1 20150618 (Red Hat 5.1.1-4)]
SCM: hg revision=fa65c32d7134 tag=tip branch=default date="2015-09-24 14:45 +0200"
Platform of campaign after:
Python version: 3.6.0a0 (default:fa65c32d7134+, Sep 24 2015, 16:13:20) [GCC 5.1.1 20150618 (Red Hat 5.1.1-4)]
Timer precision: 55 ns
SCM: hg revision=fa65c32d7134+ tag=tip branch=default date="2015-09-24 14:45 +0200"
Date: 2015-09-24 16:13:21
-----------------------+-------------+---------------
ascii | before | after
-----------------------+-------------+---------------
100 x 10**1 characters | 6.65 us (*) | 1.93 us (-71%)
100 x 10**3 characters | 512 us (*) | 158 us (-69%)
100 x 10**2 characters | 52.2 us (*) | 16.2 us (-69%)
100 x 10**4 characters | 5.09 ms (*) | 1.59 ms (-69%)
-----------------------+-------------+---------------
Total | 5.66 ms (*) | 1.77 ms (-69%)
-----------------------+-------------+---------------
-----------------------+-------------+---------------
latin1 | before | after
-----------------------+-------------+---------------
100 x 10**1 characters | 6.24 us (*) | 1.89 us (-70%)
100 x 10**3 characters | 500 us (*) | 160 us (-68%)
100 x 10**2 characters | 51 us (*) | 16.3 us (-68%)
100 x 10**4 characters | 5 ms (*) | 1.59 ms (-68%)
-----------------------+-------------+---------------
Total | 5.56 ms (*) | 1.77 ms (-68%)
-----------------------+-------------+---------------
--------+-------------+---------------
Summary | before | after
--------+-------------+---------------
ascii | 5.66 ms (*) | 1.77 ms (-69%)
latin1 | 5.56 ms (*) | 1.77 ms (-68%)
--------+-------------+---------------
Total | 11.2 ms (*) | 3.53 ms (-69%)
--------+-------------+---------------
|