| commit | 68ee8a8dd4dd077a4bfe84d3fceaa56ff513e62a | [log] [tgz] |
|---|---|---|
| author | Evan Shrubsole <eshr@webrtc.org> | Thu Apr 03 12:39:42 2025 |
| committer | WebRTC LUCI CQ <webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com> | Fri Apr 04 09:16:57 2025 |
| tree | 4b25eef9896ffdd4d3cf6edd3b442249c754614b | |
| parent | 1ec8e600a0eabe6dc054aacc8a9fb22322d41951 [diff] |
Add benchmark test for base64 This will be used to compare new implementations of Base64 (abseil and Rust). Current on my machine results look like. ❯ out/Release/base64_benchmark --------------------------------------------------------------------------- Benchmark Time CPU Iterations --------------------------------------------------------------------------- BM_Base64Encode/64 123 ns 123 ns 5689290 BM_Base64Encode/512 750 ns 750 ns 941209 BM_Base64Encode/4096 5973 ns 5972 ns 122699 BM_Base64Encode/32768 45960 ns 45944 ns 14989 BM_Base64Encode/262144 372323 ns 372158 ns 1899 BM_Base64Encode/2097152 2984810 ns 2983847 ns 237 BM_Base64Encode/8388608 12073887 ns 12067914 ns 58 BM_Base64Decode/64 275 ns 275 ns 2543692 BM_Base64Decode/512 1897 ns 1897 ns 371668 BM_Base64Decode/4096 14875 ns 14871 ns 47373 BM_Base64Decode/32768 118947 ns 118904 ns 5904 BM_Base64Decode/262144 946780 ns 946229 ns 743 BM_Base64Decode/2097152 7587559 ns 7585678 ns 93 BM_Base64Decode/8388608 30476757 ns 30464404 ns 23 BM_Base64DecodeForgiving/64 271 ns 271 ns 2575094 BM_Base64DecodeForgiving/512 1991 ns 1990 ns 350958 BM_Base64DecodeForgiving/4096 15746 ns 15742 ns 44414 BM_Base64DecodeForgiving/32768 125640 ns 125550 ns 5598 BM_Base64DecodeForgiving/262144 1006027 ns 1005577 ns 701 BM_Base64DecodeForgiving/2097152 8041495 ns 8037190 ns 87 BM_Base64DecodeForgiving/8388608 32310820 ns 32292374 ns 22 Bug: webrtc:406686729 Change-Id: I213ff84575352704b87f14ba50802a0617f9ddd9 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/384101 Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org> Auto-Submit: Evan Shrubsole <eshr@webrtc.org> Cr-Commit-Position: refs/heads/main@{#44298}
WebRTC is a free, open software project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.
Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.
The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others.
See here for instructions on how to get started developing with the native code.
Authoritative list of directories that contain the native API header files.