Intro To Performance - raisercostin/software-wiki GitHub Wiki
- Cormen - Data structures and algorithms - https://www.goodreads.com/book/show/108986.Introduction_to_Algorithms
BigO notation is important on understanding when performance should be a concern and when not.
Basically is premature optimization when the BigO(n) is kept the same (meaning differ by a constant). Is not premature optimization when the BigO is changed.
- Something to have in mind when "prematurely optimizing" stuf something is the relative magnitude between operations
- http://perfsolutions.blogspot.com/2014/05/time-scale-of-system-latencies.html
- https://swetava.wordpress.com/2018/10/21/latency-numbers-every-programmer-should-know/
- https://colin-scott.github.io/personal_website/research/interactive_latency.html
- https://imgur.com/8LIwV4C
- https://www.reddit.com/r/programare/comments/yqjh6k/c%C3%A2t_de_important%C4%83_este_nota%C8%9Bia_big_o_%C8%99i_unde_ne/
- so Embedded Database vs External In-Memory Database vs External Database is affected by these latencies
Performance refers to several aspects that are described well at https://en.wikipedia.org/wiki/Computer_performance
To improve performance you can
- profile
- configure
- microbenchmarking
- The C10M problem
- The C10K problem
- Other references
- Siege is an open source regression test and benchmark utility https://github.com/JoeDog/siege