compiler-explorer
QEMU
compiler-explorer | QEMU | |
---|---|---|
210 | 201 | |
16,837 | 10,703 | |
1.9% | 2.0% | |
9.8 | 10.0 | |
about 13 hours ago | 6 days ago | |
TypeScript | C | |
BSD 2-clause "Simplified" License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
compiler-explorer
-
Sonos CEO Patrick Spence steps down after app update debacle
I have, it's called Visual Studio Code and I ditched my old native editor(s) for it.
I'd even suggest that the fact that it's JS based has significantly changed the tech world because the editor itself will run in a browser so it's here https://godbolt.org/ , and here https://codesandbox.io, and here https://www.postman.com/, and here https://aws.amazon.com/pm/cloud9/ and 100s or 1000s of other sites.
-
What Did Ada Lovelace's Program Actually Do? (2018)
I'm told the story of Godbolt[0] is similar.
I think that he has an ID here, so we could probably ask him. It's a very good tool.
[0] https://godbolt.org
- Learn Rust the Dangerous Way
- Compiler Explorer
-
Improve an algorithm performance step by step
The GodBolt compiler explorer is also useful for comparing the assembly function code between C++ and Rust.
-
std::array in C++ isn't slower than array in C
Using several operations as examples, let's see what assembler the compiler can get. We're using the latest Clang for the x86-64 platform available on Compiler Explorer.
-
Google's New Pipe Syntax in SQL
it is also pretty good at decompiling - try feeding the output of https://godbolt.org/ back to an LLM
-
Initial details about why the CrowdStrike's CSAgent.sys crashed
As a very first step, you may start playing with https://godbolt.org/ to see how code is translated into lower-level instructions.
QEMU
-
How I used a named pipe to save memory and prevent crashes (in Perl)
My original solution was an obvious one but had an interesting bug. I simply would use Perl's system command to execute the SlackBuild script with a shell, where I would pipe stdout to tee, writing the stdout to a temporary file. After the SlackBuild would execute I would read the temporary file looking for the Slackware package $PATH created line. This solved the problem of allowing both the user and sbozyp to read the stdout of the SlackBuild script. For 99% of builds this worked fine ... but then there was qemu. Qemu is a massive project that requires a huge compilation. My system uses a small 4GB tmpfs mounted at /tmp, and the temporary file that was being teed to ended up getting so large from all the qemu compilation output that tee (and thus sbozyp) crashed for "device out of space".
- Rust in QEMU Roadmap
-
Running Raspberry Pi OS in a Docker Container
There are plenty of tutorials and other Docker images running Raspberry Pi OS using QEMU, but unfortunately, all of them utilize the OS image at runtime as an SD card. Hence, they do not support mounting volumes to share the filesystem.
- Comandos Básicos de Vagrant
-
Minimal tips to run isolated code
There are several choices for running code in partial or full isolation. Some languages include lightweight environments that do not interfere with each other, e.g., virtual environments in Python. However, due to caching and links, these are not sufficiently isolated for us. At the other end of the spectrum, we can run code in a node of a cloud computing service. However, the overhead and cost make this not worthwhile given our needs: isolation, but not very strong security requirements. Alternatively, we can run a virtual machine or emulator such as QEMU, VirtualBox, or others. This also has too much overhead given our needs.
- Deterministic Replay of QEMU Emulation
-
Weird things I learned while writing an x86 emulator
Over the last year I have been rewriting QEMU's x86 decoder. I am now at a point where it should not be too hard to add APX support.
My decoder is mostly based on the tables in the manual, and the code is mostly okay—not too much indentation and phases mostly easy to separate/identify. Nevertheless there are several cases in which the manual is wrong or doesn't say the whole story.
The top comment explains a bit what's going on: https://github.com/qemu/qemu/blob/59084feb256c617063e0dbe7e6...
- Podman Desktop 1.11: Light mode and new Kubernetes features
-
QEMU networking on macOS
QEMU is an excellent open-source project that enables users to work on various projects across multiple platforms. Starting a VM instance with QEMU is straightforward. On my old Intel-based Mac, the following command will launch an Ubuntu cloud image:
-
Automating the Building of VMs with Packer
Another important tool from the same organization is Vagrant, which provides extra help in running VMs built with Packer. Of course, the choice of a VM provider is also very important, as some VM providers may not be supported on certain platforms. For example, there are no VMware or VirtualBox releases that support Apple Silicon. However, QEMU is supported on most platforms, including Apple Silicon, which is why this provider was chosen here.
What are some alternatives?
{fmt} - A modern formatting library
UTM - Virtual machines for iOS and macOS
format-benchmark - A collection of formatting benchmarks
Unicorn Engine - Unicorn CPU emulator framework (ARM, AArch64, M68K, Mips, Sparc, PowerPC, RiscV, S390x, TriCore, X86)
rust - Empowering everyone to build reliable and efficient software.
TermuxArch - Experience the pleasure of the Linux command prompt in Android, Chromebook, Fire OS and Windows on smartphone, smartTV, tablet and wearable https://termuxarch.github.io/TermuxArch/
papers - ISO/IEC JTC1 SC22 WG21 paper scheduling and management
Vagrant - Vagrant is a tool for building and distributing development environments.
rustc_codegen_gcc - libgccjit AOT codegen for rustc
Packer - Packer is a tool for creating identical machine images for multiple platforms from a single source configuration.
arewefastyet - arewefastyet.rs - benchmarking the Rust compiler
xemu - Original Xbox Emulator for Windows, macOS, and Linux (Active Development)