[][src]Module uniprot::parser

UniprotKB XML parser implementation.

This module provides two parsers, one using multithreading to consume the input, and another one performing everything in the main thread. The multithreaded parser is about twice as fast, but does not guarantee the Entry are yielded in the same order as they appear in the source XML file.

Some benchmarks results on an i7-8550U CPU running at 1.80GHz, where the baseline only collect quick-xml events without deserializing them into the appropriate owned types from ::model:

test bench_baseline          ... bench:  33,280,101 ns/iter (+/- 1,154,274) = 119 MB/s
test bench_sequential_parser ... bench:  53,509,244 ns/iter (+/- 5,700,458) = 74 MB/s
test bench_threaded_parser   ... bench:  27,767,008 ns/iter (+/- 6,527,132) = 143 MB/s

Structs

SequentialParser

A parser for the Uniprot XML format that parses entries sequentially.

ThreadedParser

A parser for the Uniprot XML format that parses entries in parallel.

Type Definitions

Parser

The parser type for the crate, used by uniprot::parse.