Merged
Conversation
This version allocations a bit more memory up front but is faster in all benchmarks, sometimes significantly faster. group after before ----- ----- ------ 10 equal items 1.00 171.8±11.75ns 1.09 187.6±7.73ns 10 non-equal items 1.00 1150.8±36.11ns 1.08 1242.8±36.13ns 100 equal items 1.00 296.0±10.78ns 1.24 366.0±13.09ns 100 non-equal items 1.00 29.2±1.57µs 1.15 33.5±1.38µs 1000 equal items 1.00 1354.9±36.02ns 1.50 2.0±0.06µs 1000 non-equal items 1.00 1868.1±68.60µs 1.24 2.3±0.07ms 1024 byte string, last 256 different 1.00 143.9±3.67µs 1.47 212.1±7.86µs diff::chars on gitignore files from rust-lang/rust 1.00 68.6±1.99ms 1.46 100.5±2.87ms diff::lines on gitignore files from rust-lang/rust 1.00 5.9±0.15ms 3.69 21.7±0.47ms empty 1.00 109.1±4.98ns 1.14 124.2±4.88ns
group after before ----- ----- ------ 10 equal items 1.00 113.1±3.09ns 1.50 169.6±5.33ns 10 non-equal items 1.00 498.5±19.32ns 2.28 1137.9±43.20ns 100 equal items 1.00 257.9±8.30ns 1.14 295.2±11.59ns 100 non-equal items 1.00 17.4±0.40µs 1.66 28.8±1.02µs 1000 equal items 1.12 1534.4±45.30ns 1.00 1363.9±41.31ns 1000 non-equal items 1.08 2.0±0.08ms 1.00 1854.9±64.81µs 1024 byte string, last 256 different 1.00 101.2±3.13µs 1.43 144.6±4.20µs diff::chars on gitignore files from rust-lang/rust 1.00 65.9±2.54ms 1.04 68.7±2.67ms diff::lines on gitignore files from rust-lang/rust 1.00 4.9±0.18ms 1.20 5.9±0.15ms empty 1.00 58.1±2.91ns 1.85 107.4±3.85ns
Owner
Author
|
Tested this branch against https://github.com/colin-kiegel/rust-pretty-assertions. All their tests pass and their diff benchmarks show a good improvement: |
bors
added a commit
to rust-lang-ci/rust
that referenced
this pull request
Jul 30, 2022
…crum update few deps Updates few crates: * openssl-src v111.18.0+1.1.1n -> v111.22.0+1.1.1q: fixes few CVE's (https://www.openssl.org/news/vulnerabilities-1.1.1.html: https://cve.org/CVERecord?id=CVE-2022-1292 https://cve.org/CVERecord?id=CVE-2022-2068 https://cve.org/CVERecord?id=CVE-2022-2097) * openssl-probe v0.1.2 -> v0.1.5 updates ancient (2017) crate (rustls/openssl-probe@0.1.2...0.1.5). Adds support to search cert for additional platforms. * indoc v1.0.3 -> v1.0.6 (dtolnay/indoc@1.0.3...1.0.6) Nothing special changed, removes unindent v0.1.7 * bstr v0.2.13 -> v0.2.17 (BurntSushi/bstr@0.2.13...0.2.17) Few speedups (BurntSushi/bstr@8e65992, BurntSushi/bstr@5fcef91) and bugfix (BurntSushi/bstr@b2111b6) * crc32fast v1.2.0 -> v1.3.2 (srijs/rust-crc32fast@v1.2.0...v1.3.2) Speedup debug (srijs/rust-crc32fast@e61ce6a) * diff v0.1.12 -> v0.1.13 (utkarshkukreti/diff.rs@0.1.12...0.1.13) Few optimizations (utkarshkukreti/diff.rs#16, utkarshkukreti/diff.rs@0f0aa58) * ignore v0.4.17 -> v0.4.18 (it's hard to get usable diff, but most notable perf change is BurntSushi/ripgrep@a28e664) * globset v0.4.5 -> v0.4.9 * regex v1.5.5 -> v1.5.6 few bugfixes (https://github.com/rust-lang/regex/blob/1.5.6/CHANGELOG.md#156-2022-05-20). There exist 1.6.0 version, but it's too fresh.
RalfJung
pushed a commit
to RalfJung/rust-analyzer
that referenced
this pull request
Apr 20, 2024
update few deps Updates few crates: * openssl-src v111.18.0+1.1.1n -> v111.22.0+1.1.1q: fixes few CVE's (https://www.openssl.org/news/vulnerabilities-1.1.1.html: https://cve.org/CVERecord?id=CVE-2022-1292 https://cve.org/CVERecord?id=CVE-2022-2068 https://cve.org/CVERecord?id=CVE-2022-2097) * openssl-probe v0.1.2 -> v0.1.5 updates ancient (2017) crate (rustls/openssl-probe@0.1.2...0.1.5). Adds support to search cert for additional platforms. * indoc v1.0.3 -> v1.0.6 (dtolnay/indoc@1.0.3...1.0.6) Nothing special changed, removes unindent v0.1.7 * bstr v0.2.13 -> v0.2.17 (BurntSushi/bstr@0.2.13...0.2.17) Few speedups (BurntSushi/bstr@8e65992, BurntSushi/bstr@5fcef91) and bugfix (BurntSushi/bstr@b2111b6) * crc32fast v1.2.0 -> v1.3.2 (srijs/rust-crc32fast@v1.2.0...v1.3.2) Speedup debug (srijs/rust-crc32fast@e61ce6a) * diff v0.1.12 -> v0.1.13 (utkarshkukreti/diff.rs@0.1.12...0.1.13) Few optimizations (utkarshkukreti/diff.rs#16, utkarshkukreti/diff.rs@0f0aa58) * ignore v0.4.17 -> v0.4.18 (it's hard to get usable diff, but most notable perf change is BurntSushi/ripgrep@a28e664) * globset v0.4.5 -> v0.4.9 * regex v1.5.5 -> v1.5.6 few bugfixes (https://github.com/rust-lang/regex/blob/1.5.6/CHANGELOG.md#156-2022-05-20). There exist 1.6.0 version, but it's too fresh.
RalfJung
pushed a commit
to RalfJung/rust-analyzer
that referenced
this pull request
Apr 27, 2024
update few deps Updates few crates: * openssl-src v111.18.0+1.1.1n -> v111.22.0+1.1.1q: fixes few CVE's (https://www.openssl.org/news/vulnerabilities-1.1.1.html: https://cve.org/CVERecord?id=CVE-2022-1292 https://cve.org/CVERecord?id=CVE-2022-2068 https://cve.org/CVERecord?id=CVE-2022-2097) * openssl-probe v0.1.2 -> v0.1.5 updates ancient (2017) crate (rustls/openssl-probe@0.1.2...0.1.5). Adds support to search cert for additional platforms. * indoc v1.0.3 -> v1.0.6 (dtolnay/indoc@1.0.3...1.0.6) Nothing special changed, removes unindent v0.1.7 * bstr v0.2.13 -> v0.2.17 (BurntSushi/bstr@0.2.13...0.2.17) Few speedups (BurntSushi/bstr@8e65992, BurntSushi/bstr@5fcef91) and bugfix (BurntSushi/bstr@b2111b6) * crc32fast v1.2.0 -> v1.3.2 (srijs/rust-crc32fast@v1.2.0...v1.3.2) Speedup debug (srijs/rust-crc32fast@e61ce6a) * diff v0.1.12 -> v0.1.13 (utkarshkukreti/diff.rs@0.1.12...0.1.13) Few optimizations (utkarshkukreti/diff.rs#16, utkarshkukreti/diff.rs@0f0aa58) * ignore v0.4.17 -> v0.4.18 (it's hard to get usable diff, but most notable perf change is BurntSushi/ripgrep@a28e664) * globset v0.4.5 -> v0.4.9 * regex v1.5.5 -> v1.5.6 few bugfixes (https://github.com/rust-lang/regex/blob/1.5.6/CHANGELOG.md#156-2022-05-20). There exist 1.6.0 version, but it's too fresh.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See commit messages for benchmarks.