aboutsummaryrefslogtreecommitdiff
path: root/docs/implementation/codfns.html
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2022-06-19 19:48:55 -0400
committerMarshall Lochbaum <mwlochbaum@gmail.com>2022-06-19 19:48:55 -0400
commit0f47b5d1eeeba8315e5428181197d5de77195a64 (patch)
treea04f28d11bfe5773e303cedbf8d0e71f681d2ec7 /docs/implementation/codfns.html
parent5e1bfb982429882797d726ffb22f81c8115cf91a (diff)
Got a statement backwards
Diffstat (limited to 'docs/implementation/codfns.html')
-rw-r--r--docs/implementation/codfns.html2
1 files changed, 1 insertions, 1 deletions
diff --git a/docs/implementation/codfns.html b/docs/implementation/codfns.html
index caae743b..45dbfc19 100644
--- a/docs/implementation/codfns.html
+++ b/docs/implementation/codfns.html
@@ -42,7 +42,7 @@
<p>I stress here that I don't think there's anything wrong about the way Aaron has conducted or presented his research. The considerations described above are speculative even in (partial) hindsight. I think Aaron chose nanopass because of his familiarity with the functional programming compiler literature and because its multi-pass system is more similar to Co-dfns. And I know that he actively sought out other programmers willing to implement the compiler in other ways including imperative methods; apparently these efforts didn't pan out. Aaron even mentioned to me that his outstanding results were something of a problem for him, because reviewers found them unbelievable!</p>
<h4 id="what-about-the-gpu"><a class="header" href="#what-about-the-gpu">What about the GPU?</a></h4>
<p>BQN's compiler could certainly be made to run on a GPU, and it's fascinating that this is possible merely because I stuck to an array-based style. In Co-dfns, Aaron found a maximum factor of 6 improvement by running on the GPU, and this time it's the GPU runtime that we should expect to be slower than Dyalog. So we could expect an array-based compiler to run faster on large source files in this case. The problem is this: who could benefit from this speed?</p>
-<p>Probably not BQN. Recall that the BQN compiler runs at 3MB/s. This is fast enough that it almost certainly takes much longer to compile the program than to run it. The exception would be when a lot of code is loaded but not used, which can be solved by splitting the code into smaller files and only using those which are needed.</p>
+<p>Probably not BQN. Recall that the BQN compiler runs at 3MB/s. This is fast enough that it almost certainly takes much longer to run the program than to compile it. The exception would be when a lot of code is loaded but not used, which can be solved by splitting the code into smaller files and only using those which are needed.</p>
<p>The programmers who complain about compile times are using languages like C++, Rust, and Julia that compile to native code, often through LLVM. The things that these compilers spend time on aren't the things that the BQN compiler does! BQN has a rigid syntax, no metaprogramming, and compiles to bytecode. The slow compilers are churning to perform tasks like:</p>
<ul>
<li>Type checking</li>