aboutsummaryrefslogtreecommitdiff
path: root/documentation/bookmark/back_end/native.md
blob: 32da388c9b65d329e83ddbdb076dba4831324e91 (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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
# Java

1. [Java Grinder](https://www.mikekohn.net/micro/java_grinder.php)

# Register allocation

1. [A Quick Introduction to Register Allocation](https://hassamuddin.com/blog/reg-alloc/)

# Call stack

1. http://stffrdhrn.github.io/software/embedded/openrisc/2018/06/08/gcc_stack_frames.html
1. https://yurichev.com/blog/reg_alloc/

# Unicode

1. http://manishearth.github.io/blog/2017/01/14/stop-ascribing-meaning-to-unicode-code-points/
1. https://garbagecollected.org/2013/03/15/reverse-strings-like-a-pro/
1. http://reedbeta.com/blog/programmers-intro-to-unicode/
1. https://mathiasbynens.be/notes/javascript-unicode
1. http://www.daemonology.net/blog/2008-06-05-faster-utf8-strlen.html
1. https://haxe.org/blog/unicode/
1. http://justinblank.com/notebooks/stringrepresentationsandstringapis.html

# Shell

1. https://github.com/dylanaraps/pure-bash-bible

# Platforms

1. https://github.com/neutralinojs/neutralinojs

# Concurrency

1. https://github.com/hnes/libaco

# Numeric operation

1. https://github.com/ridiculousfish/libdivide
1. https://lemire.me/blog/2019/02/08/faster-remainders-when-the-divisor-is-a-constant-beating-compilers-and-libdivide/

# Optimization

1. http://ssw.jku.at/General/Staff/Leopoldseder/manlang2018-fast_path_unrolling_authorpreprint.pdf

# Foreign function interface (FFI)

1. https://github.com/swig/swig
1. http://www.swig.org/
1. http://www.swig.org/Doc2.0/Go.html
1. https://begriffs.com/posts/2019-01-19-inside-c-standard-lib.html
1. https://www.amazon.com/Standard-C-Library-P-J-Plauger/dp/0131315099

# Graal

1. https://www.newtv.co.th/video/video.php?v=topKYJgv6qA

# Floating point arithmetic

1. [Accurate Differences of Products with Kahan's Algorithm](https://pharr.org/matt/blog/2019/11/03/difference-of-floats.html)
1. https://floating-point-gui.de/
1. [Faster floating point arithmetic with Exclusive OR](http://nfrechette.github.io/2019/10/22/float_xor_optimization/)
1. https://oded.ninja/2017/05/01/floating-point/
1. [What Every Computer Scientist Should Know About Floating-Point Arithmetic](http://www.lsi.upc.edu/~robert/teaching/master/material/p5-goldberg.pdf)
1. https://lemire.me/blog/2017/11/16/fast-exact-integer-divisions-using-floating-point-operations/

# Reference

1. [Executables - Linking and Loading](https://github.com/MattPD/cpplinks/blob/master/executables.linking_loading.md)
1. http://luajit.org/
1. http://luajit.org/ext_ffi.html
1. http://luajit.org/dynasm.html
1. [The Standard C Library](https://www.amazon.com/Standard-C-Library-P-J-Plauger/dp/0131315099)
1. [C Is Not a Low-level Language: Your computer is not a fast PDP-11.](https://queue.acm.org/detail.cfm?id=3212479)
1. http://www.ffconsultancy.com/ocaml/hlvm/
1. https://nullprogram.com/blog/2018/05/27/
1. https://github.com/dyu/ffi-overhead
1. https://ivorylang.org/ivory-introduction.html
1. http://blog.llvm.org/2018/03/dragonffi-ffijit-for-c-language-using.html
1. https://internals.rust-lang.org/t/refactoring-std-for-ultimate-portability/4301
1. https://blog.plan99.net/kotlin-native-310ffac94af2
1. https://blog.jetbrains.com/kotlin/2017/12/kotlinnative-v0-5-released-calling-kotlin-from-swift-and-c-llvm-5-and-more/
1. https://readytalk.github.io/avian/
1. https://medium.com/@octskyward/kotlin-native-310ffac94af2#.xbcxqlm1w
1. https://www.infoq.com/presentations/clojure-scheme
1. https://github.com/ollef/sixten
1. https://software.intel.com/sites/landingpage/IntrinsicsGuide/
1. https://llvllatrix.wordpress.com/2016/12/31/system-calls-for-developers/
1. http://www.cipht.net/2017/10/03/are-jump-tables-always-fastest.html
1. https://github.com/libuv/libuv
1. https://www.threadingbuildingblocks.org/
1. https://cafbit.com/post/tokio_internals/
1. https://medium.com/@unmeshvjoshi/how-java-thread-maps-to-os-thread-e280a9fb2e06
1. http://pixielang.org/
1. https://github.com/pixie-lang/pixie
1. https://github.com/rust-lang/rust
1. http://ziglang.org/#
1. http://www.mpfr.org/
1. http://www.mpfr.org/algorithms.pdf
1. http://wilsonminesco.com/16bitMathTables/
1. http://blog.veitheller.de/Fixed_Point_Division.html
1. http://libdivide.com/
1. [Modern Computer Arithmetic](https://members.loria.fr/PZimmermann/mca/mca-cup-0.5.9.pdf)
1. [Division by Invariant Integers using Multiplication](https://gmplib.org/~tege/divcnst-pldi94.pdf)
1. https://lion137.blogspot.com/2019/02/borneo-language-102.html
1. https://www.youtube.com/watch?v=N0JTvyCxiv8
1. http://robert.ocallahan.org/2017/02/what-rust-can-do-that-other-languages.html
1. https://github.com/graalvm/truffleruby/blob/master/doc/user/svm.md
1. http://bellard.org/libbf/
1. http://paulcavallaro.com/blog/hashed-and-hierarchical-timing-wheels/
1. http://speleotrove.com/decimal/
1. http://eli.thegreenplace.net/2013/07/09/library-order-in-static-linking
1. [Skip the FFI!](http://llvm.org/devmtg/2014-10/Slides/Skip%20the%20FFI.pdf)
1. http://www.infoworld.com/article/3187370/application-development/kotlin-compiles-directly-to-native-code-via-llvm.html
1. https://blog.jetbrains.com/kotlin/2017/04/kotlinnative-tech-preview-kotlin-without-a-vm/
1. https://github.com/bugvm/bugvm
1. https://github.com/rampantpixels/rpmalloc
1. https://www.cs.umd.edu/class/sum2003/cmsc311/Notes/Data/endian.html
1. http://web.stanford.edu/group/sequoia/
1. https://hackernoon.com/experimenting-with-small-buffer-optimization-for-c-lambdas-d5b703fb47e4
1. https://www.microsoft.com/en-us/research/wp-content/uploads/2017/03/kedia2017mem.pdf
1. https://github.com/tomhrr/dale
1. [Fast String Searching](https://pdfs.semanticscholar.org/d991/2ea262986794e29e3f15e5f8930d42f2ced4.pdf)
1. https://github.com/apple/swift/blob/master/docs/StringManifesto.md
1. http://home.pipeline.com/~hbaker1/CheneyMTA.html
1. [Position: Lightweight static resources 0Sexy types for embedded and systems programming](https://pdfs.semanticscholar.org/2368/ccf8c62ab981e2426cd698ba2229f3eca311.pdf?_ga=2.228359389.1990612643.1507689838-1658669397.1507689838)
1. http://homes.soic.indiana.edu/ccshan/tfp2007/talk.pdf
1. http://www.catb.org/esr/structure-packing/
1. [Ahead Of Time (AOT) Internals](https://www.youtube.com/watch?v=n5DCg6M2MDM)
1. [Polyglot Native: Java, Scala, Kotlin, & JVM languages](https://www.youtube.com/watch?v=5BMHIeMXTqA)
1. https://ziviani.net/2017/functions-in-assembly
1. https://ziviani.net/2017/functions-in-assembly-ii
1. [Hashed and Hierarchical Timing Wheels: Data Structures for the Efficient Implementation of a Timer Facility](http://www.cs.columbia.edu/~nahum/w6998/papers/sosp87-timing-wheels.pdf)