mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2025-08-01 05:27:45 +00:00
sort: don't rely on serde-json for extsort
It is much faster to just write the lines to disk, separated by \n (or \0 if zero-terminated is enabled), instead of serializing to json. external_sort now knows of the Line struct instead of interacting with it using the ExternallySortable trait. Similarly, it now uses the crash_if_err! macro to handle errors, instead of bubbling them up. Some functions were changed from taking &[Line] as the input to taking an Iterator<Item = Line>. This removes the need to collect to a Vec when not necessary.
This commit is contained in:
parent
b89978a4c9
commit
01d178cf17
5 changed files with 249 additions and 346 deletions
8
Cargo.lock
generated
8
Cargo.lock
generated
|
@ -1372,9 +1372,6 @@ name = "serde"
|
|||
version = "1.0.125"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "558dc50e1a5a5fa7112ca2ce4effcb321b0300c0d4ccf0776a9f60cd89031171"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_cbor"
|
||||
|
@ -1453,9 +1450,6 @@ name = "smallvec"
|
|||
version = "1.6.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e"
|
||||
dependencies = [
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "strsim"
|
||||
|
@ -2391,8 +2385,6 @@ dependencies = [
|
|||
"rand 0.7.3",
|
||||
"rayon",
|
||||
"semver",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"smallvec 1.6.1",
|
||||
"tempdir",
|
||||
"unicode-width",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue