aboutsummaryrefslogtreecommitdiff
path: root/documentation/bookmark/optimization.md
diff options
context:
space:
mode:
authorEduardo Julian2021-12-24 08:58:01 -0400
committerEduardo Julian2021-12-24 08:58:01 -0400
commit63b45e09c5f5ceb59a48ed05cdc2d2c6cb038a7b (patch)
tree22545f6a3a5d8ad3c3a8d59136e0de3d03c69218 /documentation/bookmark/optimization.md
parentfad9e5b073a9efe995421db1132f191f1db94725 (diff)
Dusting off the pure-Lux JVM compiler machinery.
Diffstat (limited to 'documentation/bookmark/optimization.md')
-rw-r--r--documentation/bookmark/optimization.md87
1 files changed, 44 insertions, 43 deletions
diff --git a/documentation/bookmark/optimization.md b/documentation/bookmark/optimization.md
index 968fd5e26..3df2cd1ae 100644
--- a/documentation/bookmark/optimization.md
+++ b/documentation/bookmark/optimization.md
@@ -1,69 +1,70 @@
# Inlining
-1. [Defunctionalization](https://en.wikipedia.org/wiki/Defunctionalization)
+0. [Defunctionalization](https://en.wikipedia.org/wiki/Defunctionalization)
# Hashing
-1. [Fibonacci Hashing: The Optimization that the World Forgot (or: a Better Alternative to Integer Modulo)](https://probablydance.com/2018/06/16/fibonacci-hashing-the-optimization-that-the-world-forgot-or-a-better-alternative-to-integer-modulo/)
+0. [Fibonacci Hashing: The Optimization that the World Forgot (or: a Better Alternative to Integer Modulo)](https://probablydance.com/2018/06/16/fibonacci-hashing-the-optimization-that-the-world-forgot-or-a-better-alternative-to-integer-modulo/)
-# Arithmetic
+# Arithmetic | Math
-1. [Labor of Division (Episode I)](https://ridiculousfish.com/blog/posts/labor-of-division-episode-i.html)
+0. [ensmallen: flexible C++ library for efficient numerical optimization](http://ensmallen.org/docs.html)
+0. [Labor of Division (Episode I)](https://ridiculousfish.com/blog/posts/labor-of-division-episode-i.html)
# Compilation
-1. ["Outperforming Imperative with Pure Functional Languages" by Richard Feldman](https://www.youtube.com/watch?v=vzfy4EKwG_Y)
-1. [CompilerGym: Making compiler optimizations accessible to all](https://ai.facebook.com/blog/compilergym-making-compiler-optimizations-accessible-to-all)
-1. [Future Directions for Optimizing Compilers](https://arxiv.org/abs/1809.02161)
+0. ["Outperforming Imperative with Pure Functional Languages" by Richard Feldman](https://www.youtube.com/watch?v=vzfy4EKwG_Y)
+0. [CompilerGym: Making compiler optimizations accessible to all](https://ai.facebook.com/blog/compilergym-making-compiler-optimizations-accessible-to-all)
+0. [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)
+0. [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/)
+0. [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)
+0. [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. [Refterm Lecture Part 1 - Philosophies of Optimization](https://www.youtube.com/watch?v=pgoetgxecw8)
-1. [Optimizations enabled by -ffast-math](https://kristerw.github.io/2021/10/19/fast-math/)
-1. [Simple Code, High Performance](https://www.youtube.com/watch?v=Ge3aKEmZcqY)
-1. [Negotiating with Compilers](https://en.algorithmica.org/hpc/analyzing-performance/compilation/)
-1. [Do Low-level Optimizations Matter?](https://cantrip.org/sortfast.html)
-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)
+0. [Refterm Lecture Part 1 - Philosophies of Optimization](https://www.youtube.com/watch?v=pgoetgxecw8)
+0. [Optimizations enabled by -ffast-math](https://kristerw.github.io/2021/10/19/fast-math/)
+0. [Simple Code, High Performance](https://www.youtube.com/watch?v=Ge3aKEmZcqY)
+0. [Negotiating with Compilers](https://en.algorithmica.org/hpc/analyzing-performance/compilation/)
+0. [Do Low-level Optimizations Matter?](https://cantrip.org/sortfast.html)
+0. [Inline caching](https://bernsteinbear.com/blog/inline-caching/)
+0. [Weird and Wonderful Division Tricks](https://saml98.github.io/jekyll/update/2020/02/21/weird-division.htmls)
+0. [Towards a Domain-Extensible Compiler: Optimizingan Image Processing Pipeline on Mobile CPUs](https://thok.eu/publications/2021/cgo.pdf)
+0. [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)
+0. [A Language for Describing Optimization Strategies](https://arxiv.org/abs/2002.02268)
+0. https://docs.google.com/presentation/d/1tpeJZFObkeick4CF-mx0L3CeCgvT15B96aJeRpxEPcE/preview?slide=id.p
+0. https://www.quora.com/What-is-the-future-of-optimizing-compilers?share=1
+0. https://advancedweb.hu/2016/05/27/jvm_jit_optimization_techniques/ &&& https://advancedweb.hu/2016/06/28/jvm_jit_optimization_techniques_part_2/
+0. http://www.scala-native.org/en/latest/blog/interflow.html
+0. https://github.com/roman01la/closure-compiler-handbook
+0. http://hubicka.blogspot.com/2018/06/gcc-8-link-time-and-interprocedural.html
+0. [CppCon 2017: Matt Godbolt “What Has My Compiler Done for Me Lately? Unbolting the Compiler's Lid”](https://www.youtube.com/watch?v=bSkpMdDe4g4)
+0. http://duriansoftware.com/joe/Optimizing-is-multiple-checks-with-modular-arithmetic.html?
+0. https://www.ericsson.com/research-blog/outperforming-state-art-compilers-unison/
+0. http://compileroptimizations.com/index.html
+0. https://polly.llvm.org/
+0. http://paulcavallaro.com/blog/optimizing-function-placement-with-call-chain-clustering/
+0. http://leto.net/docs/C-optimization.php
+0. https://engineering.purdue.edu/~eigenman/ECE663/Handouts/bacon-compiling4hpc.pdf
+0. http://venge.net/graydon/talks/CompilerTalk-2019.pdf
+0. http://www2.imm.dtu.dk/pubdb/views/edoc_download.php/6620/pdf/imm6620.pdf
+0. [Lost in translation: Exposing hidden compiler optimization opportunities](https://arxiv.org/pdf/1903.11397.pdf)
+0. https://kristerw.blogspot.com/2019/04/how-llvm-optimizes-geometric-sums.html
+0. https://nfrechette.github.io/2019/05/08/sign_flip_optimization/
+0. https://grin-tech.github.io/
+0. [Loop Optimizations in LLVM - Michael Kruse](https://www.youtube.com/watch?v=oAPgGYr8T3Y)
+0. [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)
+0. [Javascript Array.push is 945x faster than Array.concat](https://dev.to/uilicious/javascript-array-push-is-945x-faster-than-array-concat-1oki)