@@ -76,6 +76,48 @@ These benchmarks also have an "eager" flavor that uses asyncio eager task factor
7676if available.
7777
7878
79+ base64
80+ ------
81+
82+ Benchmark the ``base64 `` module's encoding and decoding functions. Each
83+ algorithm has ``_small `` and ``_large `` variants that test both encode and
84+ decode in a single benchmark:
85+
86+ * ``_small ``: Balanced iterations across 20B, 127B, 3KiB, and 9KB data sizes
87+ more likely to show the impact of overhead.
88+ * ``_large ``: Large data focus with 100KiB and ~1MiB data sizes likely to
89+ demonstrate implementation efficiency.
90+
91+ Available benchmarks:
92+
93+ * ``base64_small ``, ``base64_large ``: Standard Base64 encoding and decoding
94+ * ``urlsafe_base64_small ``: URL-safe Base64 (small only, as URLs shouldn't
95+ contain huge data)
96+ * ``base32_small ``, ``base32_large ``: Base32 encoding and decoding
97+ * ``base16_small ``, ``base16_large ``: Base16/hex encoding and decoding
98+ * ``ascii85_small ``, ``ascii85_large ``: Ascii85 encoding and decoding
99+ (includes ``wrapcol=76 `` code path)
100+ * ``base85_small ``, ``base85_large ``: Base85 encoding and decoding
101+
102+ See the `base64 module <https://docs.python.org/dev/library/base64.html >`_.
103+
104+
105+ btree
106+ -----
107+
108+ Benchmark a pure-Python implementation of a B-tree data structure. The tree
109+ is created with a relatively large number of nodes (default is 200,000). This
110+ attempts to simulate an application that operates on a large number of objects
111+ in memory (at least, large compared to other benchmarks currently in this
112+ suite). There are two variations of this benchmark: `btree ` records the time to
113+ create the B-tree, run `gc.collect() ` and then do some operations on it; the
114+ `btree_gc_only ` variant records only the time to run `gc.collect() ` and it
115+ skips the operations after creation.
116+
117+ Note that this benchmark does not create any reference cycles that the garbage
118+ collector will need to break to free memory.
119+
120+
79121chameleon
80122---------
81123
0 commit comments