aboutsummaryrefslogtreecommitdiff
path: root/documentation/bookmark/optimization.md
blob: fe23c3e2a63129f129fd7762b25eae5ab5039eeb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# Arithmetic

1. [Labor of Division (Episode I)](https://ridiculousfish.com/blog/posts/labor-of-division-episode-i.html)

# Compilation

1. [Future Directions for Optimizing Compilers](https://arxiv.org/abs/1809.02161)

# Pre-fetching

1. [Prefetching in Functional Languages](https://www.cl.cam.ac.uk/~tmj32/papers/docs/ainsworth20-ismm.pdf)

# Partial evaluation

1. [AnyDSL - A Partial Evaluation Framework for Programming High-Performance Libraries](https://anydsl.github.io/)

# For the compiler

1. [Self Hosting a Million-Lines-Per-Second Parser](https://bjou-lang.org/blog/7-10-2019-self-hosting-a-million-lines-per-second-parser/7-10-2019-self-hosting-a-million-lines-per-second-parser.html)

# Reference

1. [Inline caching](https://bernsteinbear.com/blog/inline-caching/)
1. [Weird and Wonderful Division Tricks](https://saml98.github.io/jekyll/update/2020/02/21/weird-division.htmls)
1. [Towards a Domain-Extensible Compiler: Optimizingan Image Processing Pipeline on Mobile CPUs](https://thok.eu/publications/2021/cgo.pdf)
1. [Compiler Detection of Function Call Side Effects](https://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=B3D92D05C88C3D9C165785594350C169?doi=10.1.1.70.2096&rep=rep1&type=pdf)
1. [A Language for Describing Optimization Strategies](https://arxiv.org/abs/2002.02268)
1. https://docs.google.com/presentation/d/1tpeJZFObkeick4CF-mx0L3CeCgvT15B96aJeRpxEPcE/preview?slide=id.p
1. https://www.quora.com/What-is-the-future-of-optimizing-compilers?share=1
1. https://advancedweb.hu/2016/05/27/jvm_jit_optimization_techniques/ &&& https://advancedweb.hu/2016/06/28/jvm_jit_optimization_techniques_part_2/
1. http://www.scala-native.org/en/latest/blog/interflow.html
1. https://github.com/roman01la/closure-compiler-handbook
1. http://hubicka.blogspot.com/2018/06/gcc-8-link-time-and-interprocedural.html
1. [CppCon 2017: Matt Godbolt “What Has My Compiler Done for Me Lately? Unbolting the Compiler's Lid”](https://www.youtube.com/watch?v=bSkpMdDe4g4)
1. http://duriansoftware.com/joe/Optimizing-is-multiple-checks-with-modular-arithmetic.html?
1. https://www.ericsson.com/research-blog/outperforming-state-art-compilers-unison/
1. http://compileroptimizations.com/index.html
1. https://polly.llvm.org/
1. http://paulcavallaro.com/blog/optimizing-function-placement-with-call-chain-clustering/
1. http://leto.net/docs/C-optimization.php
1. https://engineering.purdue.edu/~eigenman/ECE663/Handouts/bacon-compiling4hpc.pdf
1. http://venge.net/graydon/talks/CompilerTalk-2019.pdf
1. http://www2.imm.dtu.dk/pubdb/views/edoc_download.php/6620/pdf/imm6620.pdf
1. [Lost in translation: Exposing hidden compiler optimization opportunities](https://arxiv.org/pdf/1903.11397.pdf)
1. https://kristerw.blogspot.com/2019/04/how-llvm-optimizes-geometric-sums.html
1. https://nfrechette.github.io/2019/05/08/sign_flip_optimization/
1. https://grin-tech.github.io/
1. [Loop Optimizations in LLVM - Michael Kruse](https://www.youtube.com/watch?v=oAPgGYr8T3Y)
1. [Don’t think, just defunctionalize](https://www.joachim-breitner.de/blog/778-Don%E2%80%99t_think%2C_just_defunctionalize)

# JavaScript

1. [Javascript Array.push is 945x faster than Array.concat](https://dev.to/uilicious/javascript-array-push-is-945x-faster-than-array-concat-1oki)