|
4 | 4 |
|
5 | 5 |
|
6 | 6 | ITERATIONS = 1_000 |
| 7 | + |
7 | 8 | SMALL_DATA = b"t" * 1_000 # 1 KB |
8 | 9 | MEDIUM_DATA = b"t" * 100_000 # 100 KB |
9 | 10 | LARGE_DATA = b"t" * 1_000_000 # 1 MB |
10 | 11 |
|
| 12 | +SMALL_DATA_ENCODED = base64.b64encode(SMALL_DATA) |
| 13 | +MEDIUM_DATA_ENCODED = base64.b64encode(MEDIUM_DATA) |
| 14 | +LARGE_DATA_ENCODED = base64.b64encode(LARGE_DATA) |
| 15 | + |
11 | 16 |
|
12 | | -def stdlib_base64encode(data, altchars=None) -> None: |
| 17 | +def stdlib_b64encode(data, altchars=None) -> None: |
13 | 18 | for _ in range(ITERATIONS): |
14 | 19 | base64.b64encode(data, altchars=altchars) |
15 | 20 |
|
16 | 21 |
|
17 | | -def base64_utils_base64encode(data, altchars=None) -> None: |
| 22 | +def base64_utils_b64encode(data, altchars=None) -> None: |
18 | 23 | for _ in range(ITERATIONS): |
19 | 24 | base64_utils.b64encode(data, altchars=altchars) |
20 | 25 |
|
| 26 | +def stdlib_b64decode(data, altchars=None, validate=False) -> None: |
| 27 | + for _ in range(ITERATIONS): |
| 28 | + base64.b64decode(data, altchars=altchars, validate=validate) |
| 29 | + |
| 30 | + |
| 31 | +def base64_utils_b64decode(data, altchars=None, validate=False) -> None: |
| 32 | + for _ in range(ITERATIONS): |
| 33 | + base64_utils.b64decode(data, altchars=altchars, validate=validate) |
| 34 | + |
21 | 35 |
|
22 | 36 | __benchmarks__ = [ |
23 | 37 | ( |
24 | | - lambda: stdlib_base64encode(SMALL_DATA), |
25 | | - lambda: base64_utils_base64encode(SMALL_DATA), |
| 38 | + lambda: stdlib_b64encode(SMALL_DATA), |
| 39 | + lambda: base64_utils_b64encode(SMALL_DATA), |
26 | 40 | "b64encode (1 KB data)", |
27 | 41 | ), |
28 | 42 | ( |
29 | | - lambda: stdlib_base64encode(MEDIUM_DATA), |
30 | | - lambda: base64_utils_base64encode(MEDIUM_DATA), |
| 43 | + lambda: stdlib_b64encode(MEDIUM_DATA), |
| 44 | + lambda: base64_utils_b64encode(MEDIUM_DATA), |
31 | 45 | "b64encode (100 KB data)", |
32 | 46 | ), |
33 | 47 | ( |
34 | | - lambda: stdlib_base64encode(LARGE_DATA), |
35 | | - lambda: base64_utils_base64encode(LARGE_DATA), |
| 48 | + lambda: stdlib_b64encode(LARGE_DATA), |
| 49 | + lambda: base64_utils_b64encode(LARGE_DATA), |
36 | 50 | "b64encode (1 MB data)", |
37 | 51 | ), |
38 | 52 | ( |
39 | | - lambda: stdlib_base64encode(MEDIUM_DATA, altchars=b"-_"), |
40 | | - lambda: base64_utils_base64encode(MEDIUM_DATA, altchars=b"-_"), |
| 53 | + lambda: stdlib_b64encode(MEDIUM_DATA, altchars=b"-_"), |
| 54 | + lambda: base64_utils_b64encode(MEDIUM_DATA, altchars=b"-_"), |
41 | 55 | "b64encode (altchars + 100 KB data)", |
42 | 56 | ), |
| 57 | + ( |
| 58 | + lambda: stdlib_b64decode(MEDIUM_DATA_ENCODED), |
| 59 | + lambda: base64_utils_b64decode(MEDIUM_DATA_ENCODED), |
| 60 | + "b64decode (100 KB data)", |
| 61 | + ) |
43 | 62 | ] |
0 commit comments