Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Test: CSS calc() with var() - 01
Test difference in performance with calc() and var() functions compared with simple units. Test on unitless, percentage and absolute values.
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36
Browser:
Chrome 133
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
one year ago
Test name
Executions per second
var(unitless) + calc() + %
1430.1 Ops/sec
var(%)
1671.8 Ops/sec
Percentage
2061.7 Ops/sec
var(unitless) + calc() + px
1399.8 Ops/sec
px
2044.7 Ops/sec
var(px)
1621.1 Ops/sec
HTML Preparation code:
<section id="section"></section>
Script Preparation code:
const section = document.getElementById("section"); section.style.setProperty('--translation', '100'); section.style.setProperty('--translationPx', '100px'); section.style.setProperty('--translationPercentage', '100%'); for (var i = 0; i < 1000; i++) { const newDiv = document.createElement("div"); const text = document.createTextNode(`${i}`); newDiv.appendChild(text); section.appendChild(newDiv); } var nodes = document.querySelectorAll("div");
Tests:
var(unitless) + calc() + %
for (var i = 0; i < nodes.length; i++) { nodes[i].style = "transform: translateY(calc(var(--translation) * 1%))" }
var(%)
for (var i = 0; i < nodes.length; i++) { nodes[i].style = "transform: translateY(var(--translationPercent))" }
Percentage
for (var i = 0; i < nodes.length; i++) { nodes[i].style = "transform: translateY(100%)" }
var(unitless) + calc() + px
for (var i = 0; i < nodes.length; i++) { nodes[i].style = "transform: translateY(calc(var(--translation) * 1px))" }
px
for (var i = 0; i < nodes.length; i++) { nodes[i].style = "transform: translateY(100px)" }
var(px)
for (var i = 0; i < nodes.length; i++) { nodes[i].style = "transform: translateY(var(--translationPx))" }