Skip to content

Commit

Permalink
Add an overarching goal paragraph.
Browse files Browse the repository at this point in the history
  • Loading branch information
c-blake committed Mar 17, 2020
1 parent 0db86bc commit a706077
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
I'm told this is a giant pile of code which might seem unapproachable. So as
a brief guide I would start with `NOTES.md` and then look at the top half of
`lpset.nim`. `TODO.md` also has a lot of notes in it.

My overarching goal/vision is to allow "the fast way" most of the time,
especially for developers that might know how to provide a good `hash`,
but to also have auto fall backs to "safer ways" with optional messages to
let developers know they might want to intervene by changing some defaults at
table construction time (or else let users/sysadmins know that some input may
be violating the assumptions of some code sensitive to inputs). I think this
may be a thing that commercial database systems have done for decades, but
hasn't really percolated into commonly available runtime libraries. (Depth
based growth trigger is probably the simplest example of a profile-guided
optimization for data structures. A.Dain Samples 1993 PhD thesis has some
more.)

0 comments on commit a706077

Please sign in to comment.