Performance · COOL on Graviton4
An honest negative result.
One complete gauging of an 8-second clip (VGC video 1, deterministic agent), five times on each build: COOL's OpenCV 5.1 on Graviton4, the stock OpenCV 5 wheel on the same Graviton4 instance, and the same wheel on x86. All three reach the same decision; the two Arm builds agree on the discharge to four decimals.
Finding one
COOL ≈ the stock wheel.
38.9 s against 37.7 s
On this workload COOL is not faster than opencv-python-headless on the same c8g.large. The aarch64 wheel already ships KleidiCV, in a newer version than the COOL build, and our time goes into ensemble correlation, ALIKED/LightGlue inference and numpy, not the colour, resize and contour kernels COOL targets.
Finding two
Graviton4 is the saving.
$0.84 against $0.98
Per 1000 gaugings with the same wheel, Graviton4 costs about 15 % less than x86 (c7i.large). COOL's AMI adds a software fee, which brings its cost to $0.97, close to x86.
What runs in production
The worker runs COOL.
c8g.large
The production worker uses COOL's build, and each benchmark file records which cv2 ran, its build HAL, the instance type and the AMI product code; they are reproduced below. The obvious next step is our own kernels: LSPIV and STIV are Python loops around OpenCV calls and are the two largest stages.
Seconds per clip
median of 5 · split by stage
Loading performance.json…
Cost per 1000 gaugings
on-demand price · modeled
Instance price per hour (plus COOL's software fee on its AMI) times the measured seconds per clip. It leaves out storage, requests and the LLM.
Per operation
ms, median · fastest build in ice
Which OpenCV actually ran.
Read from inside each benchmark process: cv2.__file__, cv2.getBuildInformation() and the instance metadata service. Both Graviton4 builds ran on the same COOL AMI instance; the stock wheel lives in a separate virtualenv, which the path shows.