Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
validate user agent
(version: 1)
Comparing performance of:
Regex vs Native
Created:
one year ago
by:
Guest
Jump to the latest result
HTML Preparation code:
<!--your preparation HTML code goes here-->
Script Preparation code:
const isUserAgentToggleOnNative = (allowedUserAgents, userAgent) => { allowedUserAgents.indexOf(userAgent) > -1 } const getUserAgent = () => { const userAgent = typeof navigator !== "undefined" ? navigator?.userAgent : "" switch (true) { case userAgent.includes(DATADOG_SYNTHETICS_USER_AGENT): return DATADOG_SYNTHETICS_USER_AGENT case userAgent.includes(K6_USER_AGENT): return K6_USER_AGENT default: return userAgent } } const USERNAME_PASSWORD_ALLOWED_USER_AGENTS = ["DatadogSynthetics", "k6"] const isUserAgentToggleOnRegex = allowedUserAgents => { const userAgent = typeof navigator !== "undefined" ? navigator?.userAgent : "" const regex = new RegExp(`(${allowedUserAgents.join("|")})`) return regex.test(userAgent) } const DATADOG_SYNTHETICS_USER_AGENT = 'DatadogSynthetics', K6_USER_AGENT = 'k6';
Tests:
Regex
/*When writing async/deferred tests, use `deferred.resolve()` to mark test as done*/ isUserAgentToggleOnRegex(USERNAME_PASSWORD_ALLOWED_USER_AGENTS)
Native
isUserAgentToggleOnNative(USERNAME_PASSWORD_ALLOWED_USER_AGENTS, getUserAgent());
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (2)
Previous results
Fork
Test case name
Result
Regex
Native
Fastest:
N/A
Slowest:
N/A
Latest run results:
Run details:
(Test run date:
one year ago
)
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36
Browser/OS:
Chrome 131 on Mac OS X 10.15.7
View result in a separate tab
Embed
Embed Benchmark Result
Test name
Executions per second
Regex
2933712.0 Ops/sec
Native
5286526.0 Ops/sec
Related benchmarks:
Destructuring vs undefined
IIFE function
Is switch bad?
if else VS switch true
Object.assign vs _.defaults fixed
if push vs reduce
switch case vs object
switch case vs object (string as key)
Regex vs Native
Comments
Confirm delete:
Do you really want to delete benchmark?