Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

performance review #5

Open
jamiealquiza opened this issue Nov 7, 2016 · 12 comments
Open

performance review #5

jamiealquiza opened this issue Nov 7, 2016 · 12 comments

Comments

@jamiealquiza
Copy link
Owner

jamiealquiza commented Nov 7, 2016

This is an in-memory cache; every cycle counts.

Also see: #20, #17

@jamiealquiza
Copy link
Owner Author

PromoteEvict / sll.Remove has a > 500x speedup w/ 25K nodes here: 49dd2b1

@jamiealquiza
Copy link
Owner Author

^ Had bugs, rolled back. Pending reintroduction in #7.

@jamiealquiza
Copy link
Owner Author

Exchanged sll's mutex-guarded counter with an atomic CAS here 817289f

@jamiealquiza
Copy link
Owner Author

Switched the removeFromScores search algo to an unrolled linear search here 0dec799

@jamiealquiza
Copy link
Owner Author

Sll can pre-allocate an internal nodeScoreList with specific size (e.g. the capacity of a cache implementing sll). This improved initial insert times for 100k items by ~50%. a9e9743

@jamiealquiza jamiealquiza changed the title [sll] performance review Dec 7, 2016
@jamiealquiza
Copy link
Owner Author

Sll refactor reduces instructions per op a8ebb45

@jamiealquiza
Copy link
Owner Author

Removed deferred mutex unlocks 52c1f3b. Get perf seems to have improved; needs comparative testing.

@jamiealquiza
Copy link
Owner Author

#22 and #11 were closed.

@jamiealquiza
Copy link
Owner Author

jamiealquiza commented Feb 9, 2017

1,500x improvement in PromoteEvict 4309170...5aa26f2

@jamiealquiza
Copy link
Owner Author

Tail eviction speed up c72347b

@jamiealquiza
Copy link
Owner Author

Sll node removal avoids mem copies ca2287d

@jamiealquiza
Copy link
Owner Author

Faster FNV-1 32-bit 72f8824

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
1 participant