Crate csv_diff

Source
Expand description

Find the difference between two CSVs - with ludicrous speed!๐Ÿš€

csv-diff finds the difference between two CSVs. It is the fastest CSV-diffing library in the world! Comparing two 1,000,000 rows x 9 columns CSVs takes under 600ms (when using raw bytes). It is thread-pool-agnostic, meaning you can provide your own existing thread-pool or you can use the default rayon thread-pool that is used in this crate.

ยงUse Case

This crate should be used on CSV data that has some sort of primary key for uniquely identifying a record. It is not a general line-by-line diffing crate. You can imagine dumping a database table in CSV format from your test and production system and comparing it with each other to find differences.

ยงOverview

The most important types you will use are:

  1. CsvByteDiffLocal for comparing two CSVs byte-wise in a blocking fashion and getting the result as DiffByteRecords.
  2. CsvByteDiff for comparing two CSVs byte-wise lazily and getting the result as an Iterator.

Modulesยง

csv
csv_diff
csv_hash_receiver_comparer
csv_hash_task_spawner
csv_headers
csv_parse_result
diff_result
diff_row

Type Aliasesยง

Result
A type alias for Result<T, csv::Error>.