Skip to content
/ sbst Public

Benchmark various data structures / algorithms for string searching.

License

Notifications You must be signed in to change notification settings

dhobsd/sbst

Repository files navigation

sbst

Benchmarking various datastructures and algorithms for string lookups. For more context, see also:

Running Benchmarks

You'll need a dictionary and possibly to fiddle around with the mkwords.pl script.

  • Run make
  • Run ./mkwords.pl [nwords] [nfiles] [depth] [prefix]. If you intend to run more than 1 thread, nfiles must be more than 1. depth controls how deep to make the string. If you specify a prefix, generated strings will all contain that prefix.
  • Run ./bench-[foo] [nthreads] [nwords] to benchmark a particular algorithm.

Notes

The reported times contain:

  1. The time it took to parse input, allocate data structures, insert, and find the element just inserted.
  2. The time it took to find items in insertion order.

Times are measured in CPU cycles.

I'm sure there are ways to improve these tests. I'd be interested in contributions for other data structures or other implementations of the same data structures used here.

I'd also be interested in ports to other platforms and results.

About

Benchmark various data structures / algorithms for string searching.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages