Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
QuoteTest
(version: 0)
Comparing performance of:
Original Rgexp vs Optimized
Created:
4 years ago
by:
Registered User
Jump to the latest result
Script Preparation code:
var input = "`ABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJABCDEFGHJ`"; var REGEX_01 = /^((['])((?:\\.|[^'])+?)(')|(['])(.*)(')|(["])((?:\\.|[^"])+?)(")|([`])((?:\\.|[^`])+?)(`))/; var REGEX_02 = /^((['])((?:\\.|[^'])+?)(')|(['])(.*?)(')|(["])((?:\\.|[^"])+?)(")|([`])((?:\\.|[^`])+?)(`))/; var REGEX_03 = /([`])((\\.|[^`])+)([`])/; function run01() { return REGEX_01.exec(input); } function run02() { return REGEX_02.exec(input); } function run03() { return REGEX_03.exec(input); }
Tests:
Original Rgexp
run01();
Optimized
run02();
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (2)
Previous results
Fork
Test case name
Result
Original Rgexp
Optimized
Fastest:
N/A
Slowest:
N/A
Latest run results:
No previous run results
This benchmark does not have any results yet. Be the first one
to run it!
Autogenerated LLM Summary
(model
llama3.2:3b
, generated one year ago):
I'll break down the provided benchmark definition and explain what's being tested. **Benchmark Definition** The benchmark is defined by two individual test cases: 1. `run01()`: This function calls the `exec` method on a regular expression (`REGEX_01`) with the input string (`input`). The goal is to measure how fast this function can execute. 2. `run02()`: This function calls another `exec` method on a regular expression (`REGEX_02`) with the same input string (`input`). Again, the goal is to measure execution speed. **Regular Expressions** The regular expressions used in both test cases are defined as follows: * `REGEX_01`: Matches any string that starts with either a single quote (') or a double quote ("), followed by any characters (including escaped ones) until a match, and then matches the same opening character again. The pattern is: ```(['])(.*)(')|([\"])((?:\\\\.|[^\"])+?)(\")|([`])((?:\\\\.|[^`])+?)``` * `REGEX_02`: This regex is almost identical to `REGEX_01`, but with a small difference in the middle part: `(*)` instead of `(.*?)`. The pattern is: ```(['])((?:\\\\.|[^'])+?)(')|(['])(.*)(')|([\"])((?:\\\\.|[^\"])+?)(\")|([`])((?:\\\\.|[^`])+?)(`)``` * `REGEX_03`: This regex only matches any character (`.`) followed by a backslash (`\`) and then the same character again, repeated one or more times: `/([`])(\\.|[^`]+)([`)/`. **What's being tested** The benchmark is testing the performance of three different regular expression patterns: 1. `REGEX_01`: Matches strings that start with either a single quote or a double quote, followed by any characters, and then matches the same opening character again. 2. `REGEX_02`: A modified version of `REGEX_01` with a small difference in the middle part. 3. `REGEX_03`: A simple regex that only matches a backslash followed by the same character. The benchmark is measuring how fast each of these regular expressions can execute, using the `exec` method on the input string. The results are compared to determine which regex is faster. **Interpretation** Given the execution times in the latest benchmark result, it appears that: * `REGEX_01` and `REGEX_02` have similar performance, with `REGEX_01` being slightly faster (by about 12%). * `REGEX_03` is significantly slower than both of these options. The modification from `REGEX_01` to `REGEX_02`, where the middle part uses `(*)` instead of `(.*?)`, seems to have a negligible impact on performance. The difference in execution speed between the two is less than 1%. In summary, the benchmark is testing the performance of three regular expression patterns and comparing their execution speeds.
Related benchmarks:
Trimming leading/trailing characters
Trimming leading/trailing characters Bounds
Regexp test for safari
Regex tests Dani
Comments
Confirm delete:
Do you really want to delete benchmark?