Common platform: Bits: int=32, long=32, long long=64, pointer=32 Python unicode implementation: PEP 393 Platform: Linux-2.6.30.10-105.2.23.fc11.i586-i686-with-fedora-11-Leonidas CPU model: Intel(R) Atom(TM) CPU Z520 @ 1.33GHz CFLAGS: -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes Platform of campaign bench_encoders.original: Python version: 3.4.0a0 (default:3e02d70cd07b, Apr 18 2013, 02:36:56) [GCC 4.4.1 20090725 (Red Hat 4.4.1-2)] Date: 2013-04-18 02:44:21 SCM: hg revision=3e02d70cd07b tag=tip branch=default date="2013-04-18 01:44 +0200" Platform of campaign bench_encoders.writer: Date: 2013-04-18 02:28:34 Python version: 3.4.0a0 (default:3e02d70cd07b+, Apr 18 2013, 02:08:00) [GCC 4.4.1 20090725 (Red Hat 4.4.1-2)] SCM: hg revision=3e02d70cd07b+ tag=tip branch=default date="2013-04-18 01:44 +0200" ----------------------+-------------------------+---------------------- Encoding ascii/strict | bench_encoders.original | bench_encoders.writer ----------------------+-------------------------+---------------------- 'a' * 1 | 1.82 us (*) | 1.76 us 'a' * 10 | 2.11 us (*) | 1.99 us (-6%) 'a' * 10**3 | 3.75 us (*) | 3.63 us 'a' * 10**5 | 67.8 us (*) | 68 us ----------------------+-------------------------+---------------------- Total | 75.5 us (*) | 75.4 us ----------------------+-------------------------+---------------------- ----------------------------+-------------------------+---------------------- Encoding ascii/replace | bench_encoders.original | bench_encoders.writer ----------------------------+-------------------------+---------------------- 'a' * 1 | 1.84 us (*) | 1.74 us (-5%) 'a' * 10 | 2.17 us (*) | 2.01 us (-7%) 'aaaa\udc80' * (10 // 5) | 2.47 us (*) | 2.76 us (+12%) 'a' * 10**3 | 3.82 us (*) | 3.65 us 'aaaa\udc80' * (10**3 // 5) | 27.3 us (*) | 25.8 us (-5%) 'a' * 10**5 | 68 us (*) | 68.1 us 'aaaa\udc80' * (10**5 // 5) | 2.42 ms (*) | 2.26 ms (-7%) ----------------------------+-------------------------+---------------------- Total | 2.52 ms (*) | 2.36 ms (-6%) ----------------------------+-------------------------+---------------------- ----------------------------+-------------------------+---------------------- Encoding ascii/ignore | bench_encoders.original | bench_encoders.writer ----------------------------+-------------------------+---------------------- 'a' * 1 | 1.82 us (*) | 1.75 us 'a' * 10 | 2.08 us (*) | 1.99 us 'aaaa\udc80' * (10 // 5) | 2.53 us (*) | 2.77 us (+10%) 'a' * 10**3 | 3.73 us (*) | 3.61 us 'aaaa\udc80' * (10**3 // 5) | 24.6 us (*) | 25.1 us 'a' * 10**5 | 68.5 us (*) | 67.5 us 'aaaa\udc80' * (10**5 // 5) | 2.07 ms (*) | 2.12 ms ----------------------------+-------------------------+---------------------- Total | 2.17 ms (*) | 2.22 ms ----------------------------+-------------------------+---------------------- --------------------------------+-------------------------+---------------------- Encoding ascii/backslashreplace | bench_encoders.original | bench_encoders.writer --------------------------------+-------------------------+---------------------- 'a' * 1 | 1.83 us (*) | 1.78 us 'a' * 10 | 2.14 us (*) | 2.04 us 'aaaa\udc80' * (10 // 5) | 18.1 us (*) | 17.6 us 'a' * 10**3 | 3.74 us (*) | 3.55 us (-5%) 'aaaa\udc80' * (10**3 // 5) | 725 us (*) | 753 us 'a' * 10**5 | 68.6 us (*) | 67.4 us 'aaaa\udc80' * (10**5 // 5) | 73.2 ms (*) | 74.6 ms --------------------------------+-------------------------+---------------------- Total | 74 ms (*) | 75.5 ms --------------------------------+-------------------------+---------------------- -----------------------+-------------------------+---------------------- Encoding latin1/strict | bench_encoders.original | bench_encoders.writer -----------------------+-------------------------+---------------------- 'a' * 1 | 1.78 us (*) | 1.73 us 'a' * 10 | 2.08 us (*) | 1.99 us 'a' * 10**3 | 3.53 us (*) | 3.45 us 'a' * 10**5 | 68.6 us (*) | 67.7 us -----------------------+-------------------------+---------------------- Total | 76 us (*) | 74.9 us -----------------------+-------------------------+---------------------- ----------------------------+-------------------------+---------------------- Encoding latin1/replace | bench_encoders.original | bench_encoders.writer ----------------------------+-------------------------+---------------------- 'a' * 1 | 1.74 us (*) | 1.74 us 'a' * 10 | 2.04 us (*) | 2.01 us 'aaaa\udc80' * (10 // 5) | 2.43 us (*) | 2.81 us (+15%) 'a' * 10**3 | 3.47 us (*) | 3.49 us 'aaaa\udc80' * (10**3 // 5) | 27.2 us (*) | 25.7 us (-6%) 'a' * 10**5 | 68.4 us (*) | 67.6 us 'aaaa\udc80' * (10**5 // 5) | 2.42 ms (*) | 2.27 ms (-6%) ----------------------------+-------------------------+---------------------- Total | 2.52 ms (*) | 2.37 ms (-6%) ----------------------------+-------------------------+---------------------- ----------------------------+-------------------------+---------------------- Encoding latin1/ignore | bench_encoders.original | bench_encoders.writer ----------------------------+-------------------------+---------------------- 'a' * 1 | 1.8 us (*) | 1.74 us 'a' * 10 | 2.06 us (*) | 1.97 us 'aaaa\udc80' * (10 // 5) | 2.53 us (*) | 2.79 us (+11%) 'a' * 10**3 | 3.5 us (*) | 3.48 us 'aaaa\udc80' * (10**3 // 5) | 24.5 us (*) | 25.2 us 'a' * 10**5 | 68.3 us (*) | 67.7 us 'aaaa\udc80' * (10**5 // 5) | 2.07 ms (*) | 2.11 ms ----------------------------+-------------------------+---------------------- Total | 2.17 ms (*) | 2.21 ms ----------------------------+-------------------------+---------------------- ---------------------------------+-------------------------+---------------------- Encoding latin1/backslashreplace | bench_encoders.original | bench_encoders.writer ---------------------------------+-------------------------+---------------------- 'a' * 1 | 1.81 us (*) | 1.74 us 'a' * 10 | 2.08 us (*) | 1.99 us 'aaaa\udc80' * (10 // 5) | 18.1 us (*) | 17.5 us 'a' * 10**3 | 3.53 us (*) | 3.49 us 'aaaa\udc80' * (10**3 // 5) | 671 us (*) | 709 us (+6%) 'a' * 10**5 | 68.2 us (*) | 67.6 us 'aaaa\udc80' * (10**5 // 5) | 70 ms (*) | 70.1 ms ---------------------------------+-------------------------+---------------------- Total | 70.8 ms (*) | 70.9 ms ---------------------------------+-------------------------+---------------------- -----------------------+-------------------------+---------------------- Encoding cp1252/strict | bench_encoders.original | bench_encoders.writer -----------------------+-------------------------+---------------------- 'a' * 1 | 13.4 us (*) | 13.6 us 'a' * 10 | 13.8 us (*) | 14.5 us 'a' * 10**3 | 79.1 us (*) | 82.2 us 'a' * 10**5 | 6.3 ms (*) | 6.55 ms -----------------------+-------------------------+---------------------- Total | 6.4 ms (*) | 6.66 ms -----------------------+-------------------------+---------------------- ----------------------------+-------------------------+---------------------- Encoding cp1252/replace | bench_encoders.original | bench_encoders.writer ----------------------------+-------------------------+---------------------- 'a' * 1 | 13.6 us (*) | 13.5 us 'a' * 10 | 14 us (*) | 14.7 us 'aaaa\udc80' * (10 // 5) | 14.5 us (*) | 15.5 us (+7%) 'a' * 10**3 | 79.2 us (*) | 83 us 'aaaa\udc80' * (10**3 // 5) | 103 us (*) | 104 us 'a' * 10**5 | 6.3 ms (*) | 6.59 ms 'aaaa\udc80' * (10**5 // 5) | 8.63 ms (*) | 8.59 ms ----------------------------+-------------------------+---------------------- Total | 15.2 ms (*) | 15.4 ms ----------------------------+-------------------------+---------------------- ----------------------------+-------------------------+---------------------- Encoding cp1252/ignore | bench_encoders.original | bench_encoders.writer ----------------------------+-------------------------+---------------------- 'a' * 1 | 13.4 us (*) | 13.5 us 'a' * 10 | 13.9 us (*) | 14.6 us (+5%) 'aaaa\udc80' * (10 // 5) | 14.7 us (*) | 15.2 us 'a' * 10**3 | 79.1 us (*) | 82.8 us 'aaaa\udc80' * (10**3 // 5) | 89.5 us (*) | 91.7 us 'a' * 10**5 | 6.3 ms (*) | 6.58 ms 'aaaa\udc80' * (10**5 // 5) | 7.18 ms (*) | 7.34 ms ----------------------------+-------------------------+---------------------- Total | 13.7 ms (*) | 14.1 ms ----------------------------+-------------------------+---------------------- ---------------------------------+-------------------------+---------------------- Encoding cp1252/backslashreplace | bench_encoders.original | bench_encoders.writer ---------------------------------+-------------------------+---------------------- 'a' * 1 | 13.6 us (*) | 13.7 us 'a' * 10 | 14.1 us (*) | 14.8 us (+6%) 'aaaa\udc80' * (10 // 5) | 32.3 us (*) | 32.6 us 'a' * 10**3 | 79.5 us (*) | 83.3 us 'aaaa\udc80' * (10**3 // 5) | 851 us (*) | 1.15 ms (+35%) 'a' * 10**5 | 6.3 ms (*) | 6.59 ms 'aaaa\udc80' * (10**5 // 5) | 85 ms (*) | 110 ms (+30%) ---------------------------------+-------------------------+---------------------- Total | 92.3 ms (*) | 118 ms (+28%) ---------------------------------+-------------------------+---------------------- ---------------------+-------------------------+---------------------- Encoding utf8/strict | bench_encoders.original | bench_encoders.writer ---------------------+-------------------------+---------------------- 'a' * 1 | 1.69 us (*) | 1.75 us 'a' * 10 | 2.01 us (*) | 1.91 us 'a' * 10**3 | 3.47 us (*) | 3.47 us 'a' * 10**5 | 67.9 us (*) | 68.3 us ---------------------+-------------------------+---------------------- Total | 75.1 us (*) | 75.4 us ---------------------+-------------------------+---------------------- ----------------------------+-------------------------+---------------------- Encoding utf8/replace | bench_encoders.original | bench_encoders.writer ----------------------------+-------------------------+---------------------- 'a' * 1 | 1.69 us (*) | 1.73 us 'a' * 10 | 1.96 us (*) | 1.92 us 'aaaa\udc80' * (10 // 5) | 15.7 us (*) | 16.2 us 'a' * 10**3 | 3.46 us (*) | 3.48 us 'aaaa\udc80' * (10**3 // 5) | 622 us (*) | 668 us (+7%) 'a' * 10**5 | 67.8 us (*) | 68 us 'aaaa\udc80' * (10**5 // 5) | 63.5 ms (*) | 67.8 ms (+7%) ----------------------------+-------------------------+---------------------- Total | 64.2 ms (*) | 68.6 ms (+7%) ----------------------------+-------------------------+---------------------- ----------------------------+-------------------------+---------------------- Encoding utf8/ignore | bench_encoders.original | bench_encoders.writer ----------------------------+-------------------------+---------------------- 'a' * 1 | 1.69 us (*) | 1.73 us 'a' * 10 | 1.95 us (*) | 1.89 us 'aaaa\udc80' * (10 // 5) | 15.2 us (*) | 15.5 us 'a' * 10**3 | 3.44 us (*) | 3.45 us 'aaaa\udc80' * (10**3 // 5) | 548 us (*) | 609 us (+11%) 'a' * 10**5 | 67.7 us (*) | 68.1 us 'aaaa\udc80' * (10**5 // 5) | 58.2 ms (*) | 61.6 ms (+6%) ----------------------------+-------------------------+---------------------- Total | 58.8 ms (*) | 62.3 ms (+6%) ----------------------------+-------------------------+---------------------- -------------------------------+-------------------------+---------------------- Encoding utf8/backslashreplace | bench_encoders.original | bench_encoders.writer -------------------------------+-------------------------+---------------------- 'a' * 1 | 1.7 us (*) | 1.73 us 'a' * 10 | 1.98 us (*) | 1.89 us 'aaaa\udc80' * (10 // 5) | 20.8 us (*) | 17.1 us (-18%) 'a' * 10**3 | 3.5 us (*) | 3.5 us 'aaaa\udc80' * (10**3 // 5) | 834 us (*) | 717 us (-14%) 'a' * 10**5 | 67.8 us (*) | 67.7 us 'aaaa\udc80' * (10**5 // 5) | 81.2 ms (*) | 72.3 ms (-11%) -------------------------------+-------------------------+---------------------- Total | 82.2 ms (*) | 73.1 ms (-11%) -------------------------------+-------------------------+---------------------- -----------------------+-------------------------+---------------------- Encoding utf_16/strict | bench_encoders.original | bench_encoders.writer -----------------------+-------------------------+---------------------- 'a' * 1 | 8.43 us (*) | 7.85 us (-7%) 'a' * 10 | 8.25 us (*) | 7.9 us 'a' * 10**3 | 12.8 us (*) | 12.3 us 'a' * 10**5 | 275 us (*) | 273 us -----------------------+-------------------------+---------------------- Total | 304 us (*) | 301 us -----------------------+-------------------------+---------------------- ----------------------------+-------------------------+---------------------- Encoding utf_16/replace | bench_encoders.original | bench_encoders.writer ----------------------------+-------------------------+---------------------- 'a' * 1 | 8.26 us (*) | 7.91 us 'a' * 10 | 8.27 us (*) | 7.89 us 'aaaa\udc80' * (10 // 5) | 8.28 us (*) | 7.96 us 'a' * 10**3 | 12.8 us (*) | 12.1 us (-5%) 'aaaa\udc80' * (10**3 // 5) | 11.9 us (*) | 11.2 us (-5%) 'a' * 10**5 | 275 us (*) | 269 us 'aaaa\udc80' * (10**5 // 5) | 206 us (*) | 211 us ----------------------------+-------------------------+---------------------- Total | 530 us (*) | 527 us ----------------------------+-------------------------+---------------------- ----------------------------+-------------------------+---------------------- Encoding utf_16/ignore | bench_encoders.original | bench_encoders.writer ----------------------------+-------------------------+---------------------- 'a' * 1 | 8.37 us (*) | 7.78 us (-7%) 'a' * 10 | 8.35 us (*) | 7.81 us (-6%) 'aaaa\udc80' * (10 // 5) | 8.27 us (*) | 7.9 us 'a' * 10**3 | 12.8 us (*) | 12.1 us 'aaaa\udc80' * (10**3 // 5) | 11.8 us (*) | 11.1 us (-6%) 'a' * 10**5 | 273 us (*) | 273 us 'aaaa\udc80' * (10**5 // 5) | 206 us (*) | 211 us ----------------------------+-------------------------+---------------------- Total | 529 us (*) | 530 us ----------------------------+-------------------------+---------------------- ---------------------------------+-------------------------+---------------------- Encoding utf_16/backslashreplace | bench_encoders.original | bench_encoders.writer ---------------------------------+-------------------------+---------------------- 'a' * 1 | 8.49 us (*) | 7.91 us (-7%) 'a' * 10 | 8.45 us (*) | 7.88 us (-7%) 'aaaa\udc80' * (10 // 5) | 8.42 us (*) | 8 us (-5%) 'a' * 10**3 | 13 us (*) | 12.4 us 'aaaa\udc80' * (10**3 // 5) | 11.9 us (*) | 11.4 us 'a' * 10**5 | 279 us (*) | 277 us 'aaaa\udc80' * (10**5 // 5) | 213 us (*) | 211 us ---------------------------------+-------------------------+---------------------- Total | 542 us (*) | 535 us ---------------------------------+-------------------------+---------------------- ---------------------------------+-------------------------+---------------------- Summary | bench_encoders.original | bench_encoders.writer ---------------------------------+-------------------------+---------------------- Encoding ascii/strict | 75.5 us (*) | 75.4 us Encoding ascii/replace | 2.52 ms (*) | 2.36 ms (-6%) Encoding ascii/ignore | 2.17 ms (*) | 2.22 ms Encoding ascii/backslashreplace | 74 ms (*) | 75.5 ms Encoding latin1/strict | 76 us (*) | 74.9 us Encoding latin1/replace | 2.52 ms (*) | 2.37 ms (-6%) Encoding latin1/ignore | 2.17 ms (*) | 2.21 ms Encoding latin1/backslashreplace | 70.8 ms (*) | 70.9 ms Encoding cp1252/strict | 6.4 ms (*) | 6.66 ms Encoding cp1252/replace | 15.2 ms (*) | 15.4 ms Encoding cp1252/ignore | 13.7 ms (*) | 14.1 ms Encoding cp1252/backslashreplace | 92.3 ms (*) | 118 ms (+28%) Encoding utf8/strict | 75.1 us (*) | 75.4 us Encoding utf8/replace | 64.2 ms (*) | 68.6 ms (+7%) Encoding utf8/ignore | 58.8 ms (*) | 62.3 ms (+6%) Encoding utf8/backslashreplace | 82.2 ms (*) | 73.1 ms (-11%) Encoding utf_16/strict | 304 us (*) | 301 us Encoding utf_16/replace | 530 us (*) | 527 us Encoding utf_16/ignore | 529 us (*) | 530 us Encoding utf_16/backslashreplace | 542 us (*) | 535 us ---------------------------------+-------------------------+---------------------- Total | 489 ms (*) | 516 ms (+6%) ---------------------------------+-------------------------+----------------------