Expand description
Fast deserialization of a single CSV line.
§Usage
#[derive(Debug, PartialEq, serde::Deserialize)]
struct Foo(String, i32);
assert_eq!(
csv_line::from_str::<Foo>("foo,42").unwrap(),
Foo("foo".into(), 42)
);
assert_eq!(
csv_line::from_str_sep::<Foo>("foo 42", ' ').unwrap(),
Foo("foo".into(), 42)
);
§Speed
The performance is comparable to serde_json
(lower is better):
test csv_builder ... bench: 13,190.73 ns/iter (+/- 793.61)
test csv_core ... bench: 12,840.18 ns/iter (+/- 633.12)
test csv_line ... bench: 176.50 ns/iter (+/- 5.15)
test serde_json ... bench: 88.24 ns/iter (+/- 2.12
The benchmark code is available here.
§Contributing
Please run .pre-commit.sh before submitting a pull request to ensure all checks pass.
§License
This project is licensed under the MIT license.
Structs§
- CSVLine
- A parser for a single line of CSV data.
Functions§
- from_
str - Deserializes a string into a custom type.
- from_
str_ sep - Deserializes a string with a custom separator.