Made a bunch of performance improvements to Knossos this morning: roughly 3x faster on nonlinearizable histories, and ~100x faster on linear
-
-
Replying to @aphyr
Knossos can now check 50K-operation histories on registers with over 100 concurrent actors in ~6 seconds.
1 reply 0 retweets 1 like -
Replying to @aphyr
Repeated lesson from this profiling work: JITs are *weird*. Small changes in method size/workload have dramatic impact on other method perf.
2 replies 1 retweet 0 likes -
Replying to @aphyr
If you're curious about Clojure perf, take a look at the last few https://github.com/aphyr/knossos/commits/master …. Went from ~150K worlds/sec to ~600K+ worlds/sec.
1 reply 4 retweets 10 likes -
Replying to @aphyr
Some typical tactical optimizations here: minimize allocations, reduce hashmap lookups, memoize expensive calls (count is expensive!!!?)
1 reply 3 retweets 3 likes -
Replying to @darachennis
@darachennis@aphyr Sounds like good profile guided optimisation rather than mechanical sympathy???2 replies 0 retweets 0 likes -
Replying to @mjpt777
.
@mjpt777@darachennis yeah but it was a really emotional process; I truly *felt* the machine's struggle. Surely that counts.1 reply 0 retweets 7 likes
@aphyr @mjpt777 Kinky clojure whisperer... Touching the program with your profile voodoo. #IfItFitsItShips
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.