andrewjstone / rafter

An Erlang library application which implements the Raft consensus protocol
269 stars 32 forks source link

Feature/log hints #23

Closed andrewjstone closed 10 years ago

andrewjstone commented 10 years ago

Keep track of pointers(hints) to some hot entries in order to minimize disk seeks and data reads. Use a cache eviction policy of removing every tenth hint so we can somewhat uniformly and minimally increase disk seeks with usage in order to maintain a fixed size cache. In other words, when we reach a maximum number of hints we delete 10% of them.

Fixes #22

andrewjstone commented 10 years ago

@CuriousLeo Will you please pull this branch and confirm that this fixes your performance issues? I will then close #22 and merge this PR.

curiousleo commented 10 years ago

@andrewjstone Sure, I'll do that later today! Looks like an awesome improvement!

curiousleo commented 10 years ago

Yes, those changes do seem to fix the performance issues I experienced. Great!

andrewjstone commented 10 years ago

Sweet! Tracking this issue down was fun. Performance is fun. Thanks for the kick in the seat to get things moving again :) Hopefully many more perf/code enhancements coming soon.

On Wed, Feb 12, 2014 at 9:51 AM, Leonhard Markert notifications@github.comwrote:

Yes, those changes do seem to fix the performance issues I experienced. Great!

Reply to this email directly or view it on GitHubhttps://github.com/andrewjstone/rafter/pull/23#issuecomment-34875577 .