T
The Art of Machinery
theartofmachinery.com · Personal blog · on HN since 2017
The Art of Machinery is a programmer's blog on systems programming, the D language, debugging, and software deployment.
What HN saysCommenters cite its D posts, such as the compile-time Brainfuck compiler, and its post on pre-compression with nginx gzip_static.
23HN people shared it
4linked it in comments
41stories submitted
1.7Kstory points
12 months agolast shared
2017people per year2026
Most-shared posts
- 1Some Useful Probability Facts for Systems Programming3 people · 485 points · first shared 2020 · 76 comments on HN
- 2D as a C Replacement3 people · 304 points · first shared 2019 · 187 comments on HN
- 3Stow: Package Manager When You Can't Use Your Package Manager3 people · 5 points · first shared 2021 · discussion on HN
- 4Making a Compile-Time Brainfuck Compiler in D3 people · 2 points · first shared 2017 · discussion on HN
- 5Why Const Doesn't Make C Code Faster2 people · 294 points · first shared 2019 · 190 comments on HN
- 6Data Still Dominates2 people · 155 points · first shared 2019 · 49 comments on HN
- 7Debugging Software Deployments with Strace2 people · 64 points · first shared 2019 · 8 comments on HN
- 8Bios Boot to D2 people · 14 points · first shared 2017 · 2 comments on HN
- 9Profiling D's Garbage Collection with Bpftrace2 people · 5 points · first shared 2019 · discussion on HN
- 10Extending Looped Music for Fun, Relaxation and Productivity2 people · 3 points · first shared 2021 · discussion on HN
- 11D Declarations for C and C++ Programmers2 people · 2 points · first shared 2020 · discussion on HN
- 12Reverse Engineering a Docker Image1 people · 176 points · first shared 2021 · 20 comments on HN
- 13Object-Oriented Programming and Essential State1 people · 116 points · first shared 2019 · 54 comments on HN
- 14Pi from High School Maths1 people · 61 points · first shared 2020 · 19 comments on HN
- 15Tricks with Pseudorandom Number Generators1 people · 4 points · first shared 2020 · discussion on HN
What HN people wrote when they linked it
teleforce · 2021-06-06
There are few comments here complaining about R performance just like the parent comment. It's a shame that R does not have industrial strength industrial compiler based on this blog article unlike Python [1].
If you want to see the performance benchmark of R against major programming languages for data analysis please check this excellent keynote speech on the R compilation or more accurately on failures of R compilation effort [2].
As mentioned in [1], the main reason people do not focus on providing industrial strength compiler for R is probably because most of R program’s time are spent in the library codes that are written in a compiled language (e.g., C or Fortran). As you can see from [2], even though this is the case (computation intensive being delegated to proper compiled languages), the R programs running time still suffers due to the "impedance mismatch" because of the look up overheads, indirections, etc.
Perhaps someone should try to compile, transpile and/or embed R inside D language similar to the efforts provided in [3][4]. D now supports C compiler internally, has DasBetterC and D interface to C++ (DPP) is second to none. Additionally, since D can also perform better than Fortran codes for numerical computing perhaps Fortran codes can eventually be replaced by existing high performance D library like Mir[5]. I can foresee this symbiotic relationship can be beneficial for R and D (R on D?). D can becomes very popular with extra humongous data analysis…
Zardoz84 · 2021-07-12
I find the DLang version far more easy to understand. Also, it could do compiler optimizations : https://theartofmachinery.com/2017/12/31/compile_time_brainfuck.html
logicprog · 2019-07-10
I recently found out[2] about DasBetterC[1] and it seems like a super convincing way to get just C with classes and modules, as you say. Essentially, it removes the runtime and all the features that rely on it.
[1]: https://dlang.org/blog/the-d-and-c-series/#betterC
[2]: https://theartofmachinery.com/2019/04/05/d_as_c_replacement.html
techntoke · 2018-09-10
There are benefits to pre-compression:
https://theartofmachinery.com/2016/06/06/nginx_gzip_static.html
That is what GitLab Pages expects, and because I can control my own pipeline with GitLab I am able to support multiple file formats that GitHub would not be able to support. It doesn't get any simpler than the example I provided.