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