This branch introduces a refactoring overhaul to improve performance dramatically.
There have been a number of changes in this branch that improve the performance and accuracy.
Using a low-level approach, we are now able to iterate through lines without transferring data from binary format to utf8 or allocating memory.
As opposed to the default Rust implementation, ahash was used as the hash algorithm.