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

Type Aliases

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