enso
enso copied to clipboard
Use ArraySlice to slice a Vector
[ci no changelog needed]
Pull Request Description
Use an ArraySlice to slice Vector.
Avoids memory copying for the slice function.
Important Notes
| Test | Ref | New |
|---|---|---|
| New Vector | 71.9 | 71.0 |
| Append Single | 26.0 | 27.7 |
| Append Large | 15.1 | 14.9 |
| Sum | 156.4 | 165.8 |
| Drop First 20 and Sum | 171.2 | 165.3 |
| Drop Last 20 and Sum | 170.7 | 163.0 |
| Filter | 76.9 | 76.9 |
| Filter With Index | 166.3 | 168.3 |
| Partition | 278.5 | 273.8 |
| Partition With Index | 392.0 | 393.7 |
| Each | 101.9 | 102.7 |
- Note: the performance of New and Append has got slower from previous tests.
Checklist
Please include the following checklist in your PR:
- [x] The documentation has been updated if necessary.
- [x] All code conforms to the Scala, Java, and Rust style guides.
- All code has been tested:
- [x] Unit tests have been written where possible.
- [ ] If GUI codebase was changed: Enso GUI was tested when built using BOTH
./run ide buildand./run ide watch.