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
Damian Gryski
537f5198dd
more numerical code optimization notes
2018-02-27 11:14:53 -08:00
Damian Gryski
1f018a0079
CL landed, point to commit instead of gerrit
2018-02-26 20:49:34 -08:00
Damian Gryski
423ef443f6
prose tweaks
2018-02-19 11:55:16 -08:00
Damian Gryski
3c4794cb6c
tweak ux optimization paragraph
2018-02-19 11:54:41 -08:00
Damian Gryski
fe935e9f79
note unrolling example
2018-02-11 14:49:11 -08:00
Damian Gryski
71a544213c
note speed downsides of binary.Read/binary.Write
2018-02-11 11:58:43 -08:00
Damian Gryski
def1b8d9d8
add five-ways paper
2018-02-10 08:45:26 -08:00
Damian Gryski
133b978d9c
start notes on memory
2018-02-03 15:04:19 -08:00
Damian Gryski
1d7520c325
service optimization
2018-02-03 14:25:42 -08:00
Damian Gryski
8272572949
tweaks
2018-01-31 17:42:42 -08:00
Damian Gryski
f567b7f9bb
add a section on pointers for system design
2018-01-28 15:54:00 -08:00
Damian Gryski
99e972884e
more warning about folklore
2018-01-27 15:02:59 -08:00
Damian Gryski
38999da377
clarity distributed system performance; needs more
2018-01-27 15:02:42 -08:00
Damian Gryski
5573fc180b
tweak working for algorithmic improvement examples
2018-01-27 10:07:32 -08:00
Damian Gryski
1bc220c82c
lint fixes for code block
2018-01-27 08:36:16 -08:00
Damian Gryski
8a5395226d
add "wasted here" comment
2018-01-27 08:36:16 -08:00
Damian Gryski
3c3bdb4883
better example for algorithm improvement
2018-01-27 08:36:16 -08:00
Damian Gryski
65da16207f
tweaks; add example for "efficient" algorithm
2018-01-27 08:36:16 -08:00
Damian Gryski
3de152393b
make "don't be dumb" / "be smart" sections explicit.
2018-01-27 08:36:15 -08:00
Damian Gryski
66d681b598
get proebsting's law and integer programming algorithm improvements in
2018-01-27 08:36:15 -08:00
Damian Gryski
d8e5cb3ee8
prosify hash map -> xor k/vs story
2018-01-27 08:36:15 -08:00
Damian Gryski
208fa3bd59
word tweak
2018-01-27 08:36:15 -08:00
Damian Gryski
8fde5fb00c
fix cache prose
2018-01-27 08:36:15 -08:00
Damian Gryski
149f93d858
move realistic data distribution cache example
2018-01-27 08:36:15 -08:00
Damian Gryski
a57dde59e7
shuffle sections to match proposed outline
2018-01-27 08:36:15 -08:00
Damian Gryski
5c681bc288
more prose tweaks
2018-01-27 08:36:15 -08:00
Damian Gryski
beb5dbc663
talk about pointer-free maps keys
2018-01-27 08:36:15 -08:00
Damian Gryski
c6743fb982
add example from slack
2018-01-27 08:36:15 -08:00
Damian Gryski
a1ed903449
examples for simple and polyalgorithm
2018-01-27 08:36:15 -08:00
Damian Gryski
823fcd31b3
should at least mention RUM conjecture in section on datastructure building
2018-01-27 08:36:15 -08:00
Damian Gryski
6c72efd6c2
prose for implementing research papers
2018-01-27 08:36:15 -08:00
Damian Gryski
12fef8dfd1
shuffle sections around
2018-01-27 08:36:15 -08:00
Damian Gryski
e876225927
mostly tuning notes
2018-01-27 08:36:15 -08:00
Damian Gryski
1e58607c99
remove duplicated bentley link
2018-01-27 08:36:15 -08:00
Damian Gryski
b7e10ae3c2
tuning links and benchmarkable code
2018-01-27 08:36:15 -08:00
Damian Gryski
79d9787d4c
more tuning prose
2018-01-27 08:36:15 -08:00
Damian Gryski
f99a3427b4
more tuning notes
2018-01-27 08:36:15 -08:00
Damian Gryski
db7b1270a2
tweaks
2018-01-27 08:36:15 -08:00
Damian Gryski
93f5451295
ramblings
2018-01-27 08:36:15 -08:00
Damian Gryski
a01ad6ecb5
more rambling
2018-01-27 08:36:15 -08:00
Damian Gryski
2b1479cfe6
more rambling
2018-01-27 08:36:15 -08:00
Damian Gryski
59eb6aee88
Obvious tuning example
2018-01-27 08:36:15 -08:00
Damian Gryski
9452e1da99
more tuning notes
2018-01-27 08:36:15 -08:00
Damian Gryski
9b52fc4205
more rambling
2018-01-27 08:36:15 -08:00
Damian Gryski
2473eb839d
remove "basic rules" section; that's been covered elsewhere now
2018-01-27 08:36:15 -08:00
Damian Gryski
a73a7facb8
markdown link fixes
2018-01-27 08:36:15 -08:00
Damian Gryski
b4451b88e0
more topics
2018-01-27 08:36:15 -08:00
Damian Gryski
4f043c23b5
memory hierarchy warning
2018-01-27 08:36:15 -08:00
Damian Gryski
7f6a8347a8
add dotGo notes
2018-01-27 08:36:15 -08:00
Damian Gryski
fccd81d0bb
put big-o category first
2018-01-27 08:36:15 -08:00
Damian Gryski
b93d199716
big-O and algorithm costs
2018-01-27 08:36:15 -08:00
Damian Gryski
a8b86beaee
algorithmic tips before code tuning tips
2018-01-27 08:36:15 -08:00
Damian Gryski
8934dd0987
code tuning prose
2018-01-27 08:36:15 -08:00
Damian Gryski
549a7b8aea
paper implementation notes
2018-01-27 08:36:15 -08:00
Damian Gryski
0abd306e4f
space discussion
2018-01-27 08:36:15 -08:00
Damian Gryski
c049e201ca
foreshadow cache line discussion
2018-01-27 08:36:15 -08:00
Damian Gryski
b8cbe45def
more data structure tweaks
2018-01-27 08:36:15 -08:00
Damian Gryski
bc7018f4be
prose data structure augmentation
2018-01-27 08:36:15 -08:00
Damian Gryski
2e91fa82ad
shuffing and prose
2018-01-27 08:36:15 -08:00
Damian Gryski
8150f7df9f
a bit of shuffling and a bit of prose
2018-01-27 08:36:15 -08:00
Damian Gryski
fd21512c1a
spelling
2018-01-27 08:36:15 -08:00
Damian Gryski
1211c4ea2c
microbenchmarking
2018-01-27 08:36:15 -08:00
Damian Gryski
a15e27a9a7
how to detect invalid benchmarks
2018-01-27 08:36:15 -08:00
Damian Gryski
6fa67a29e6
more topics
2018-01-27 08:36:15 -08:00
Damian Gryski
927710eded
add gccgo
2018-01-27 08:36:15 -08:00
Damian Gryski
f8e01fc8af
start larger prose batches
2018-01-27 08:36:15 -08:00
Damian Gryski
2cf2b82d2c
buffer reuse
2018-01-27 08:36:15 -08:00
Damian Gryski
2b09e975e2
deoptimization
2018-01-27 08:36:15 -08:00
Damian Gryski
6f5a55da25
tiny notes
2018-01-27 08:36:15 -08:00
Damian Gryski
95f52a4bd8
reprofile and gc notes
2018-01-27 08:36:15 -08:00
Damian Gryski
c64b5138c3
data distribution notes
2018-01-27 08:36:15 -08:00
Damian Gryski
dd8b0dea97
cache eviction + general stdlib
2018-01-27 08:36:15 -08:00
Damian Gryski
078594c5f8
expensive vs. cheap checks
2018-01-27 08:36:14 -08:00
Damian Gryski
c95d4b2a4d
augmented data structure notes
2018-01-27 08:36:14 -08:00
Damian Gryski
718d63af4f
explain need for fast benchmarks
2018-01-27 08:36:14 -08:00
Damian Gryski
7f0590de81
more thoughts
2018-01-27 08:36:14 -08:00
Damian Gryski
e88e8c70ec
solution iteration
2018-01-27 08:36:14 -08:00
Damian Gryski
74ea4bad7c
polyalgorithms
2018-01-27 08:36:14 -08:00
Damian Gryski
60bec2b464
expand on optimizing at different levels
2018-01-27 08:36:14 -08:00
Damian Gryski
3f14524242
a few quick thoughts
2018-01-27 08:36:14 -08:00
Damian Gryski
cf2414f5c6
more notes
2018-01-27 08:36:14 -08:00
Damian Gryski
9a32443804
more topics to outline
2018-01-27 08:36:14 -08:00
Damian Gryski
1448a3f800
go -> golang because really that's what the awesome would be called.
2018-01-27 08:36:14 -08:00
Damian Gryski
df67db0ccc
clarify what this isn't
2018-01-27 08:36:14 -08:00
Damian Gryski
5066a0bada
more notes for prose
2018-01-27 08:36:14 -08:00
Damian Gryski
38d428239f
updates
2018-01-27 08:36:14 -08:00
Damian Gryski
2218a278ce
more bits
2018-01-27 08:36:14 -08:00
Damian Gryski
7ccaac8fab
add TPOP quote
2018-01-27 08:36:14 -08:00
Damian Gryski
778fb3a77b
typos (thanks @peterhellberg)
2018-01-27 08:36:14 -08:00
Damian Gryski
3761b7fc11
more prose
2018-01-27 08:36:14 -08:00
Damian Gryski
867d1f9079
start rambling -> prose
2018-01-27 08:36:14 -08:00
Damian Gryski
47cf516944
more rambling
2018-01-27 08:36:14 -08:00
Damian Gryski
6c19aaf8c6
how to use sync.Pool effectively: don't
2017-12-30 01:14:16 -08:00
Damian Gryski
a0814d1b85
tweak working on where to benchmark
2017-12-29 08:05:36 -08:00
Damian Gryski
9fbae0e4aa
go-torch is now included in pprof
2017-12-29 08:04:17 -08:00
StabbyCutyou
b75903303d
Fix typo in asm section
2017-12-28 20:26:52 -05:00
StabbyCutyou
20807caca5
Adding a note on benchmarking on the correct target platform
2017-12-28 20:23:36 -05:00
Alex Pliutau
1ed15d8b24
Correct link: https://godoc.org/golang.org/x/perf/benchstat
2017-12-28 09:39:27 -08:00
Damian Gryski
af9bc8676b
benchstat has moved
2017-04-25 05:57:38 +02:00
Damian Gryski
4d1134b403
add a warning to writing benchmarks
2017-04-24 09:07:22 +02:00