Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
slice vs substring (long string)
(version: 0)
Compares slice and substring to each other when operating on a long string
Comparing performance of:
slice vs substring
Created:
2 years ago
by:
Guest
Jump to the latest result
Script Preparation code:
var example = 'Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam eaque ipsa, quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt, explicabo. Nemo enim ipsam voluptatem, quia voluptas sit, aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos, qui ratione voluptatem sequi nesciunt, neque porro quisquam est, qui dolorem ipsum, quia dolor sit, amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt, ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit, qui in ea voluptate velit esse, quam nihil molestiae consequatur, vel illum, qui dolorem eum fugiat, quo voluptas nulla pariatur? [33] At vero eos et accusamus et iusto odio dignissimos ducimus, qui blanditiis praesentium voluptatum deleniti atque corrupti, quos dolores et quas molestias excepturi sint, obcaecati cupiditate non provident, similique sunt in culpa, qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio, cumque nihil impedit, quo minus id, quod maxime placeat, facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Temporibus autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet, ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat.Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam eaque ipsa, quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt, explicabo. Nemo enim ipsam voluptatem, quia voluptas sit, aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos, qui ratione voluptatem sequi nesciunt, neque porro quisquam est, qui dolorem ipsum, quia dolor sit, amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt, ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit, qui in ea voluptate velit esse, quam nihil molestiae consequatur, vel illum, qui dolorem eum fugiat, quo voluptas nulla pariatur? [33] At vero eos et accusamus et iusto odio dignissimos ducimus, qui blanditiis praesentium voluptatum deleniti atque corrupti, quos dolores et quas molestias excepturi sint, obcaecati cupiditate non provident, similique sunt in culpa, qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio, cumque nihil impedit, quo minus id, quod maxime placeat, facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Temporibus autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet, ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat.'
Tests:
slice
var result = example.slice(0, 2500)
substring
var result = example.substring(0, 2500)
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (2)
Previous results
Fork
Test case name
Result
slice
substring
Fastest:
N/A
Slowest:
N/A
Latest run results:
Run details:
(Test run date:
2 months ago
)
User agent:
Mozilla/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1
Browser/OS:
Chrome Mobile iOS 144 on iOS 26.2.1
View result in a separate tab
Embed
Embed Benchmark Result
Test name
Executions per second
slice
418696512.0 Ops/sec
substring
425969312.0 Ops/sec
Autogenerated LLM Summary
(model
llama3.2:3b
, generated one year ago):
Let's break down what's being tested in this benchmark. **Benchmark Definition** The benchmark compares the performance of `slice` and `substring` methods when operating on a long string. The script preparation code defines a long string `example`, and two individual test cases are defined: * `slice`: Calls `slice` method on the `example` string, passing an offset of 0 and a length of 2500. * `substring`: Calls `substring` method on the `example` string, passing an offset of 0 and a length of 2500. **Options Compared** The benchmark compares two options: 1. **Slice**: The `slice` method returns a new string containing a subset of characters from the original string. 2. **Substring**: The `substring` method also returns a new string, but it's equivalent to calling `slice` with the same offset and length. **Pros and Cons** Here are some pros and cons of each approach: * **Slice**: + Pros: Generally faster and more efficient, as it avoids creating an intermediate string. + Cons: Creates a new string object, which can lead to memory allocation overhead. * **Substring**: + Pros: May be slightly faster due to the use of a single function call, but this is usually negligible. + Cons: Can create an intermediate string object, similar to `slice`, which may impact performance. **Library and Purpose** In neither case is a library explicitly mentioned. However, it's worth noting that both `slice` and `substring` methods are built-in JavaScript methods for working with strings. **Special JS Feature or Syntax** There isn't any special JavaScript feature or syntax being tested in this benchmark. The focus is on the performance comparison between two standard string manipulation methods. **Other Alternatives** If you're interested in exploring alternative approaches, here are a few options: * Using `String.prototype.slice.call()` instead of `slice()`: This can be slightly faster, but it's usually not worth the overhead. * Using `Array.prototype.slice.call(example)` to create an array from the string: This is generally slower than using `slice` or `substring`. * Using a third-party library like Lodash for string manipulation: These libraries often provide optimized implementations of standard methods. Keep in mind that these alternatives may not be relevant to this specific benchmark, and you should consider factors like code readability, maintainability, and compatibility before choosing an alternative approach.
Related benchmarks:
slice vs substr vs substring (with end index & large string)
slice vs substr vs substring (with no end index) and long text
Array from vs string split with large strings
IndexOf vs Includes in string - larger string edition
Comments
Confirm delete:
Do you really want to delete benchmark?