A URL Parsing Benchmark – Daniel Lemire’s weblog
Twitter consumer opdroid1234 remarked that they are getting more performance out of the ARM nodes than out of the Intel nodes on Amazon’s cloud (AWS).
I discovered beforehand that the Graviton 3 processors had less bandwidth that comparable Intel systems. Nevertheless, I’ve not achieved a lot when it comes to uncooked compute energy.
The Intel processors have the crazily good AVX-512 directions: ARM processors don’t have anything shut aside from devoted accelerators. However what about extra boring computing?
We wrote a quick URL parser in C++. It doesn’t do something past transportable C++: no meeting language, no specific SIMD directions, and so forth.
Can the ARM processors parse URLs sooner?
I’m going to match the next node sorts:
- c6i.giant: Intel Ice Lake (0.085 US$/hour)
- c7g.giant: Amazon Graviton 3 (0.0725 US$/hour)
I’m utilizing Ubuntu 22.04 on each nodes. I be sure that cmake, ICU and GNU G++ are put in.
I run the next routine:
- git clone https://github.com/ada-url/ada
- cd ada
- cmake -B construct -D ADA_BENCHMARKS=ON
- cmake --build construct
- cd construct
- ./construct/benchmarks/bench --benchmark_filter=Ada
The outcomes are that the ARM processor is certainly barely sooner:
Intel Ice Lake | 364 ns/url |
Graviton 3 | 320 ns/url |
The Graviton 3 processor is about 15% sooner. It’s not the 20% to 30% that opdroid1234 stories, however the Graviton 3 nodes are additionally barely cheaper.
Please be aware that (1) I’m presenting only one knowledge level, I encourage you to run your individual benchmarks (2) I’m positive that opdroid1234 is being fully truthful (3) I really like all processors (Intel, ARM) equally (4) I’m not claiming that ARM is healthier than Intel or AMD.
Word: I don’t personal inventory in ARM, Intel or Amazon. I don’t work for any of those firms.