JIT is a way of executing computer code that involves compilation during execution of a program at runtime. This post shows how to execute Brainfuck programs using JIT in various ways.
Good Economics for Hard Times
Software Engineering Laws
Floating-Point Surprises
The single-precision floating-point or double-precision floating-point has finite precision so loss of significance can happen and cause surprises.
Interaction Between HugeTLBFS and Hugepages
This post shows the interaction between hugetlbfs and huge pages by an example program. All the results are based on linux 3.10.0-514.55.4.el7.x86_64.
Linux PID
In the Linux world, pid means two things. It’s the id of a process from POSIX’s point of view and the id of a task from kernel’s point of view.
Microbenchmark
Microbenchmark is used to measure the performance of a small piece of code for the purpose of performance optimization. Writing a good microbenchmark is hard and that’s why we should use microbenchmark frameworks (e.g. JMH for Java and Google Benchmark for C++) to help us. This post contains microbenchmarks that I think are interesting.
One-Liners
HugeTLBFS Read Bug
Hit a Linux kernel bug that read()
returns wrong data if it crosses a hugepage boundary.
Jonathan Lee
我说我喜欢你的歌,我不知道这算不算是一件好事。 我说我喜欢你的词,总是道出我心中不欲人知的事。