Skip to content
forked from djc/topfew-rs

Rust implementation of Tim Bray's topfew tool

License

Notifications You must be signed in to change notification settings

blob79/topfew-rs

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

topfew-rs: Rust implementation of Tim Bray's topfew tool

Tim Bray recently blogged about topfew, his Go implementation of a tool to replace the awk '{print $1}' access_log | sort | uniq -c | sort -rn | head -12 pipeline. This is a reimplementation of that tool in idiomatic stable Rust.

The initial Rust version was 2.9x faster than Tim's Go implementation; current master appears to be around 6.7x faster thanks to some additional optimizations. The Rust version currently has slightly fewer non-test SLOC than the Go version. Thanks to Thomas Andreas Jung for contributing substantial performance improvements.

topfew 0.1.0

USAGE:
    tf [OPTIONS] <file> --fields <fields>

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
    -f, --fields <fields>    Fields to use as part of the line's key
    -n, --num <num>          Top number of matches to show [default: 10]
    -e, --regex <regex>      Regular expression used to split lines into fields [default: [ \t]]

ARGS:
    <file>    File to search

If you have the Rust toolchain installed, you can install it with cargo install topfew.

About

Rust implementation of Tim Bray's topfew tool

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%