Commit Graph

264 Commits

Author SHA1 Message Date
Damian Gryski
0c35ecd09f "cache line bouncing" is a more recognized term 2018-04-10 10:15:23 -07:00
Damian Gryski
1d1908fe04 small warning re: fasthttp 2018-04-10 09:46:20 -07:00
Damian Gryski
8422426028 rework slice vs. offsets; this is getting differently true w/ optimizations 2018-04-09 09:59:23 -07:00
Damian Gryski
c121cc309d put the pithy quote first, before the explanation 2018-04-09 09:59:04 -07:00
Damian Gryski
877535e23a add another example for algorithm tradeoffs from old papers 2018-04-09 09:45:42 -07:00
Damian Gryski
daf85d58c4 todo for some commits re: removing asm 2018-04-09 09:45:22 -07:00
Damian Gryski
5dc09ee650 todo for branch-free example 2018-04-09 09:45:08 -07:00
Damian Gryski
4c6200bf44 reorder/reword processor cache notes 2018-04-09 09:44:51 -07:00
Damian Gryski
a28dff0e41 note about avoiding database/sql; still need specifics though 2018-04-09 09:44:37 -07:00
Damian Gryski
845eaecb64 fix implementing paper resources links 2018-04-09 09:43:55 -07:00
Damian Gryski
6c9fc65968 pithy quote for pay what you use 2018-04-09 09:43:41 -07:00
Damian Gryski
491f13ac20 should talk about size classes w/r/t memory optimization 2018-04-05 22:47:11 -07:00
Damian Gryski
dcc2b7b3e3 notes about struct padding 2018-04-05 22:00:59 -07:00
Damian Gryski
586335a5e1 example padding striped mutexs from @egonelbre 2018-04-04 23:47:22 -07:00
Damian Gryski
010c1e9dc4 more mutex notes 2018-04-04 23:44:34 -07:00
Damian Gryski
11e8ec5fb0 pithy words about reducing mutex contention 2018-04-04 23:38:16 -07:00
Damian Gryski
6879c72607 instrinsics are easy, inline asm is hard 2018-04-04 13:46:58 -07:00
Damian Gryski
55e102fd24 typo 2018-04-04 13:46:50 -07:00
Damian Gryski
f100b3a0d7 typing unicode middle dot 2018-03-24 09:46:51 -07:00
Muhammad Falak R Wani
1fad560c0c fix language 2018-03-24 10:32:42 +05:30
Jack Loughran
6bd3eeb108 fix possible typo 2018-03-22 13:03:29 -07:00
Damian Gryski
84e24a5d70 notes on benchmarking for CI and code review 2018-03-22 09:20:23 -07:00
Damian Gryski
7492e66066 add another example where improved compiler lets you write simpler code 2018-03-21 15:27:11 -07:00
Damian Gryski
81127fefe9 when paraphrasing, check the source to make sure you've got it right 2018-03-18 15:33:02 -07:00
Damian Gryski
488ee7e213 fix wording 2018-03-18 14:18:39 -07:00
Damian Gryski
d9df318a5c concurrency knobs 2018-03-16 15:11:52 -07:00
Damian Gryski
cb01a79314 cheap not free 2018-03-16 15:07:15 -07:00
Damian Gryski
1793308cb9 word tweak for correctness/speed 2018-03-16 14:43:11 -07:00
Damian Gryski
b33635fb0c clarify "sufficient" golden input in tuning section 2018-03-16 14:42:17 -07:00
Damian Gryski
07bc90860d add egon's steps for tuning 2018-03-16 14:39:21 -07:00
Damian Gryski
e2c004a3f7 tweak compiler optimizations prose 2018-03-16 14:33:57 -07:00
Damian Gryski
3210b72350 spelling 2018-03-16 14:29:14 -07:00
Damian Gryski
4e1f26b079 add apple instruments to profilers 2018-03-16 12:44:30 -07:00
Damian Gryski
c91a16f34d academic code is frequently just POC with poor performance characteristics 2018-03-16 09:11:55 -07:00
Damian Gryski
46114b3f97 real world full-service optimization may not be your problem 2018-03-16 09:11:40 -07:00
Damian Gryski
8253fd9ec9 mention minio's asm2plan9 for unsuported opcodes 2018-03-16 09:11:19 -07:00
Damian Gryski
74c6b51e6c first 64-bytes of struct are important 2018-03-16 09:11:03 -07:00
Damian Gryski
141313c524 tweaks to mmap section 2018-03-16 09:10:40 -07:00
Damian Gryski
ddc1b9031f move cache sharing to concurrency section 2018-03-16 09:10:04 -07:00
Damian Gryski
e2d745a3a4 spelling 2018-03-16 09:09:42 -07:00
Damian Gryski
781b65ef75 add some prose for "modern" algorithm performance 2018-03-15 09:46:21 -07:00
Damian Gryski
342792d1ce add easyjson to encoding/json replacements 2018-03-15 09:46:04 -07:00
Damian Gryski
3378534249 more tooling ideas 2018-03-15 09:45:54 -07:00
Damian Gryski
db4da56c32 solving the more general problem might be better for algorithms 2018-03-14 17:41:44 -07:00
Damian Gryski
a52d4b84a2 few more notes 2018-03-14 15:03:58 -07:00
Damian Gryski
362c7d185d draft notes from scott meyers talk on knuth 2018-03-14 09:28:03 -07:00
Damian Gryski
29007c4fa4 mostly word-choice tweaks 2018-03-14 09:28:03 -07:00
Damian Gryski
c99b5ddfaa point to filled out time.Parse() section 2018-03-13 20:40:13 -07:00
Damian Gryski
d155f7e879 warning about mmap loading vs. complexity/speed 2018-03-13 09:07:50 -07:00
Damian Gryski
8b278e70c4 expand on specialized algorithms as subproblem components 2018-03-13 09:07:25 -07:00
Damian Gryski
962bf25dd2 notes from @egonelbre 2018-03-12 10:02:06 -07:00
Damian Gryski
6e5850d2e1 spelling 2018-03-12 10:01:49 -07:00
Damian Gryski
4b1eb662d6 mention optimizing around slices 2018-03-12 10:01:32 -07:00
Damian Gryski
c8ad697848 add note about sorting 2018-03-12 08:44:25 -07:00
Damian Gryski
c6692519cc talk about microbenchmarks not representing real-world performance improvements 2018-03-10 10:01:51 -08:00
Damian Gryski
8baa4589e3 mumblings on branch prediction 2018-03-09 11:05:45 -08:00
Damian Gryski
201384442f more random thoughts from boring plane flight 2018-03-09 08:53:55 -08:00
Damian Gryski
72512ce63f add tpop authors 2018-03-09 08:53:55 -08:00
Damian Gryski
b22508f27f clarify source of tpop quote 2018-03-08 18:43:41 -08:00
Damian Gryski
bcd6cdac21 put in full knuth quote to help translators. 2018-03-08 13:54:40 -08:00
Damian Gryski
d886290924 gollvm might be a contender 2018-03-08 13:54:31 -08:00
Damian Gryski
83d3c3cfb3 mention uses of syso files 2018-03-08 13:54:22 -08:00
Damian Gryski
106607b31c more topics for pprof in prod, move to end of section 2018-03-08 07:39:22 -08:00
Damian Gryski
f31c45421f talk about localhost and ssh tunnels for pprof 2018-03-08 07:24:41 -08:00
Damian Gryski
8d41f4151b add pointer writebarrier note 2018-03-07 17:16:27 -08:00
Joey Pestonit
5ce6c4141c Update link
Looks like that link doesn't work anymore. Also not sure if this was the text you're referring to -
 (https://gamehacking.org/faqs/Small_Memory_Software.pdf)
2018-03-07 16:02:02 -08:00
Damian Gryski
c17a6c00b5 perfbook has moved beyond just links now 2018-03-04 20:32:26 -08:00
Damian Gryski
8301f7e09f add reduced data copying to tuning 2018-03-04 20:32:26 -08:00
Damian Gryski
a6cde628a0 fix link syntax 2018-03-04 20:32:26 -08:00
Damian Gryski
65ce05dffd expand on time parsing example 2018-03-04 15:42:22 -08:00
Damian Gryski
de5a84a467 add section on optimizing concurrency 2018-03-04 15:42:10 -08:00
Damian Gryski
6ac679fbdc mention simd in assembly section 2018-03-04 12:39:59 -08:00
Damian Gryski
afc0d9710b add memoization as a topic for caching section 2018-03-04 11:57:46 -08:00
Damian Gryski
f8123115f5 more yada yada opertor to the end of list 2018-03-04 11:01:31 -08:00
Damian Gryski
c30ae174ef add more load testing tooling 2018-03-04 10:59:04 -08:00
Damian Gryski
87e785b45a explitly call out TODO for log parsing example 2018-03-04 10:57:19 -08:00
Damian Gryski
033e0f6595 clarify "optimal cache wasn't worth it" 2018-03-04 10:54:41 -08:00
Damian Gryski
d524aca4c2 mirror style for randomized cache insertion sentence 2018-03-04 10:52:51 -08:00
Damian Gryski
d2a4abc11d kill extra word 2018-03-04 10:50:54 -08:00
Damian Gryski
4ede1612ce more mumblings about compressed structures 2018-03-04 10:43:59 -08:00
Damian Gryski
4c3603c2d3 add smaller data type to space-shrinking options 2018-03-04 10:39:36 -08:00
Damian Gryski
90dcb8b054 merge odd loose sentence 2018-03-04 10:38:29 -08:00
Damian Gryski
dc726907d6 add another explicit TODO 2018-03-04 10:38:21 -08:00
Damian Gryski
99e82b8791 explicitly call out TODOs 2018-03-04 10:34:44 -08:00
Damian Gryski
48db8aa7af clean up loose setences in choices section 2018-03-04 10:34:09 -08:00
Damian Gryski
68630e7636 prosify performance estimation notes 2018-03-04 10:33:58 -08:00
Damian Gryski
d5fb380c68 tweak some links 2018-03-04 10:27:25 -08:00
Damian Gryski
c4dbd6003c prosify bitfunnel numbers 2018-03-04 10:23:01 -08:00
Valentin Deleplace
31bdd44214 Typo mixer integer programming -> mixed integer programming
That looked intriguing but I think it was a typo.
2018-03-04 06:43:25 -08:00
Damian Gryski
5093cb2269 mention hacker's delight in the appropriate section 2018-03-03 22:47:42 -08:00
Damian Gryski
3f45c91bb0 other notes on optimized maps in the runtime 2018-03-03 14:41:29 -08:00
Kale Blankenship
0b28a0d8fd Formatting imporovements/type fixes found while reading 2018-03-03 13:58:11 -08:00
Damian Gryski
e727330a11 cpu cache and assembly notes 2018-03-03 09:00:30 -08:00
Damian Gryski
3c5c860e4d note about taking a performance hit in exchange for improved scalability 2018-03-03 07:31:57 -08:00
Damian Gryski
4f5d0376b6 clean up trailing whitespace 2018-03-02 21:20:50 -08:00
Damian Gryski
7607085b21 more bits 2018-03-02 13:32:13 -08:00
Kane York
8931b246b4 Add some pithy 'Advice' lines to the big-O summary
Also mentioned "anything else between quadratic n² and exponential b^n", which is where a lot of NP-hard optimizations are ending up right now (e.g. O(n² (log log n)² and friends)
2018-03-01 21:46:29 -08:00
jose nazario
a56a2ddbba fix a couple of spelling errors, no content changes 2018-03-01 18:41:33 -08:00
Damian Gryski
7e70f3c83d note two-value range copy gotcha 2018-03-01 12:41:25 -08:00
Damian Gryski
7f3d9221ec tweak big-O cutoff wording 2018-03-01 10:18:06 -08:00