Skip to content

Commit d4e0652

Browse files
committed
move validation options to libbase64
1 parent c257be1 commit d4e0652

3 files changed

Lines changed: 126 additions & 444 deletions

File tree

README.rst

Lines changed: 40 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -93,60 +93,60 @@ Running Python 3.15.0b3, Apple clang version 21.0.0 (clang-2100.1.1.101), macOS
9393
9494
pybase64 1.5.0 (C extension active - NEON)
9595
bench: altchars=None, validate=True, padded=True
96-
pybase64.encodebytes: 6518 MB/s (135,696 bytes -> 183,309 bytes)
97-
pybase64.b64encode: 17518 MB/s (135,696 bytes -> 180,928 bytes)
98-
pybase64.b64decode: 9016 MB/s (180,928 bytes -> 135,696 bytes)
99-
base64.encodebytes: 2372 MB/s (135,696 bytes -> 183,309 bytes)
100-
base64.b64encode: 2662 MB/s (135,696 bytes -> 180,928 bytes)
101-
base64.b64decode: 2635 MB/s (180,928 bytes -> 135,696 bytes)
102-
bench: altchars=None, validate=True, padded=False
103-
pybase64.b64encode: 17528 MB/s (135,696 bytes -> 180,928 bytes)
104-
pybase64.b64decode: 8984 MB/s (180,928 bytes -> 135,696 bytes)
105-
base64.b64encode: 2639 MB/s (135,696 bytes -> 180,928 bytes)
96+
pybase64.encodebytes: 6640 MB/s (135,696 bytes -> 183,309 bytes)
97+
pybase64.b64encode: 17612 MB/s (135,696 bytes -> 180,928 bytes)
98+
pybase64.b64decode: 9128 MB/s (180,928 bytes -> 135,696 bytes)
99+
base64.encodebytes: 2381 MB/s (135,696 bytes -> 183,309 bytes)
100+
base64.b64encode: 2505 MB/s (135,696 bytes -> 180,928 bytes)
106101
base64.b64decode: 2646 MB/s (180,928 bytes -> 135,696 bytes)
102+
bench: altchars=None, validate=True, padded=False
103+
pybase64.b64encode: 17711 MB/s (135,696 bytes -> 180,928 bytes)
104+
pybase64.b64decode: 9054 MB/s (180,928 bytes -> 135,696 bytes)
105+
base64.b64encode: 2652 MB/s (135,696 bytes -> 180,928 bytes)
106+
base64.b64decode: 2661 MB/s (180,928 bytes -> 135,696 bytes)
107107
bench: altchars=None, ignorechars=b'', padded=False
108-
pybase64.b64decode: 8975 MB/s (180,928 bytes -> 135,696 bytes)
109-
base64.b64decode: 2619 MB/s (180,928 bytes -> 135,696 bytes)
108+
pybase64.b64decode: 9062 MB/s (180,928 bytes -> 135,696 bytes)
109+
base64.b64decode: 2658 MB/s (180,928 bytes -> 135,696 bytes)
110110
bench: altchars=None, ignorechars=b'\n', padded=True
111-
pybase64.b64decode: 2357 MB/s (183,308 bytes -> 135,696 bytes)
112-
base64.b64decode: 2073 MB/s (183,308 bytes -> 135,696 bytes)
111+
pybase64.b64decode: 4071 MB/s (183,308 bytes -> 135,696 bytes)
112+
base64.b64decode: 2102 MB/s (183,308 bytes -> 135,696 bytes)
113113
bench: altchars=None, ignorechars=b'\n', padded=False
114-
pybase64.b64decode: 2357 MB/s (183,308 bytes -> 135,696 bytes)
115-
base64.b64decode: 1932 MB/s (183,308 bytes -> 135,696 bytes)
114+
pybase64.b64decode: 4062 MB/s (183,308 bytes -> 135,696 bytes)
115+
base64.b64decode: 1968 MB/s (183,308 bytes -> 135,696 bytes)
116116
bench: altchars=None, validate=False, padded=True
117-
pybase64.b64decode: 2360 MB/s (183,308 bytes -> 135,696 bytes)
118-
base64.b64decode: 2021 MB/s (183,308 bytes -> 135,696 bytes)
117+
pybase64.b64decode: 4049 MB/s (183,308 bytes -> 135,696 bytes)
118+
base64.b64decode: 2054 MB/s (183,308 bytes -> 135,696 bytes)
119119
bench: altchars=None, validate=False, padded=False
120-
pybase64.b64decode: 2359 MB/s (183,308 bytes -> 135,696 bytes)
121-
base64.b64decode: 1976 MB/s (183,308 bytes -> 135,696 bytes)
120+
pybase64.b64decode: 4058 MB/s (183,308 bytes -> 135,696 bytes)
121+
base64.b64decode: 2000 MB/s (183,308 bytes -> 135,696 bytes)
122122
bench: altchars=b'-_', validate=True, padded=True
123-
pybase64.b64encode: 10733 MB/s (135,696 bytes -> 180,928 bytes)
124-
pybase64.b64decode: 5968 MB/s (180,928 bytes -> 135,696 bytes)
125-
base64.b64encode: 2653 MB/s (135,696 bytes -> 180,928 bytes)
126-
base64.b64decode: 1194 MB/s (180,928 bytes -> 135,696 bytes)
123+
pybase64.b64encode: 10849 MB/s (135,696 bytes -> 180,928 bytes)
124+
pybase64.b64decode: 6032 MB/s (180,928 bytes -> 135,696 bytes)
125+
base64.b64encode: 2651 MB/s (135,696 bytes -> 180,928 bytes)
126+
base64.b64decode: 1202 MB/s (180,928 bytes -> 135,696 bytes)
127127
bench: altchars=b'-_', validate=True, padded=False
128-
pybase64.b64encode: 10714 MB/s (135,696 bytes -> 180,928 bytes)
129-
pybase64.b64decode: 5941 MB/s (180,928 bytes -> 135,696 bytes)
130-
base64.b64encode: 2618 MB/s (135,696 bytes -> 180,928 bytes)
131-
base64.b64decode: 1161 MB/s (180,928 bytes -> 135,696 bytes)
128+
pybase64.b64encode: 10838 MB/s (135,696 bytes -> 180,928 bytes)
129+
pybase64.b64decode: 5996 MB/s (180,928 bytes -> 135,696 bytes)
130+
base64.b64encode: 2666 MB/s (135,696 bytes -> 180,928 bytes)
131+
base64.b64decode: 1191 MB/s (180,928 bytes -> 135,696 bytes)
132132
bench: altchars=b'-_', ignorechars=b'', padded=True
133-
pybase64.b64decode: 5839 MB/s (180,928 bytes -> 135,696 bytes)
134-
base64.b64decode: 2590 MB/s (180,928 bytes -> 135,696 bytes)
133+
pybase64.b64decode: 6005 MB/s (180,928 bytes -> 135,696 bytes)
134+
base64.b64decode: 2651 MB/s (180,928 bytes -> 135,696 bytes)
135135
bench: altchars=b'-_', ignorechars=b'', padded=False
136-
pybase64.b64decode: 5807 MB/s (180,928 bytes -> 135,696 bytes)
137-
base64.b64decode: 2588 MB/s (180,928 bytes -> 135,696 bytes)
136+
pybase64.b64decode: 5995 MB/s (180,928 bytes -> 135,696 bytes)
137+
base64.b64decode: 2639 MB/s (180,928 bytes -> 135,696 bytes)
138138
bench: altchars=b'-_', ignorechars=b'\n', padded=True
139-
pybase64.b64decode: 2044 MB/s (183,308 bytes -> 135,696 bytes)
140-
base64.b64decode: 2044 MB/s (183,308 bytes -> 135,696 bytes)
139+
pybase64.b64decode: 3263 MB/s (183,308 bytes -> 135,696 bytes)
140+
base64.b64decode: 2095 MB/s (183,308 bytes -> 135,696 bytes)
141141
bench: altchars=b'-_', ignorechars=b'\n', padded=False
142-
pybase64.b64decode: 1978 MB/s (183,308 bytes -> 135,696 bytes)
143-
base64.b64decode: 1872 MB/s (183,308 bytes -> 135,696 bytes)
142+
pybase64.b64decode: 3270 MB/s (183,308 bytes -> 135,696 bytes)
143+
base64.b64decode: 1959 MB/s (183,308 bytes -> 135,696 bytes)
144144
bench: altchars=b'-_', validate=False, padded=True
145-
pybase64.b64decode: 2013 MB/s (183,308 bytes -> 135,696 bytes)
146-
base64.b64decode: 1014 MB/s (183,308 bytes -> 135,696 bytes)
145+
pybase64.b64decode: 3277 MB/s (183,308 bytes -> 135,696 bytes)
146+
base64.b64decode: 1038 MB/s (183,308 bytes -> 135,696 bytes)
147147
bench: altchars=b'-_', validate=False, padded=False
148-
pybase64.b64decode: 2025 MB/s (183,308 bytes -> 135,696 bytes)
149-
base64.b64decode: 1000 MB/s (183,308 bytes -> 135,696 bytes)
148+
pybase64.b64decode: 3277 MB/s (183,308 bytes -> 135,696 bytes)
149+
base64.b64decode: 1038 MB/s (183,308 bytes -> 135,696 bytes)
150150
151151
152152
.. end benchmark

0 commit comments

Comments
 (0)