BOLT
linux
BOLT | linux | |
---|---|---|
10 | 983 | |
2,487 | 170,949 | |
- | - | |
0.0 | 10.0 | |
about 1 year ago | 6 days ago | |
C++ | C | |
GNU General Public License v3.0 or later | 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.
BOLT
-
Squeezing a Little More Performance Out of Bytecode Interpreters
Hi Stephen, congrats for the nice work! Have you guys considered using BOLT to optimize the interpreter? what it does is pretty much what has been suggested in this thread: profile + code reordering.
-
I didn't find any post-link binary optimizers for Windows executables. Why?
For Linux unstripped ELFs there is the BOLT project (BOLT/bolt at main ยท facebookincubator/BOLT (github.com)). For PE files I found nothing. I would like to know if there are any or why there are none.
- Why is Rosetta 2 fast?
-
The Rust compiler is now compiled with (thin) LTO (finally) for 5-10% improvements
Google automatically profiles everything running in their datacenters and compiles everything with LTO+PGO on by default. And beyond LTO, both Facebook's BOLT and Google's Propeller can perform additional binary optimizations on top of what regular LTO does.
-
Related work on profiling reuse across program versions.
As an example, BOLT (Meta's binary optimizer) uses two strategies to map profiling information from one program onto another. First, it can use the address of branch instructions as anchor points for profiling data. Branches that share the same address (offset from the beginning of the function) can reuse profiling information. Another approach is to use the hashcode formed by the opcodes of instructions in basic blocks as anchor points. As long as the basic block is not modified, BOLT can reuse its profiling data. This approach was described in the paper "Bmat-a binary matching tool for stale profile propagation". If profiling information cannot be mapped onto the new program, then it is said to be stale.
-
CFLAGS , LDFLAGS recommendation for making EMACS LIGHTENING FASTER?
If you're just excited to try out some shiny things then you can take a look at https://github.com/facebookincubator/BOLT, which is like PGO AFAIU. But again, in would definitely help if you have some elisp snippet that would measure the performance you care about so that you can see how much things improved after you enable a flag like -O3 or apply a tool like BOLT.
- Bolt - Optimize Linux Image - Has Anyone Tried at Home?
-
What would it take to get LLVM to align branch targets with memory pages (to double the spatial locality vs. if the targets straddle memory pages)?
The best tool we have for maximizing code locality is probably BOLT. They measure improvements in icache hit ratios.
- AI Benchmark - 11900 Intel Optimized Tensorflow Performance Test
-
AV1 related job offer :O
Imagine PGO, but taken up a notch: https://github.com/facebookincubator/BOLT
linux
- Doyensec โ OOB memory read in Linux kernel
- Memory is cheap, new structs are a pain
-
The File Filesystem
FFS predates FreeBSD and is in some capacity supported by all 3 major BSDs. I'm fairly confident that Linux actually supports it through the ufs driver ( https://github.com/torvalds/linux/tree/master/fs/ufs ); whether the use of different names in different places makes it better or worse is an exercise for the reader.
-
Linus Torvalds adds arbitrary tabs to kernel code
These are a bit easier to see what's going on:
https://github.com/torvalds/linux/commit/d5cf50dafc9dd5faa1e...
https://github.com/torvalds/linux/blob/d5cf50dafc9dd5faa1e61...
Unfortunately Github doesn't have a way to render symbols for whitespace, but you can tell by selecting the spaces that the previous version had leading tabs. Linus changed it so that the tokens `default` and the number e.g. `12` are also separated by a tab. This is tricky, because the token "default" is seven characters, it will always give this added tab a width of 1 char which makes it always layout the same as if it were a space no matter if you use tab widths of 1, 2, 4, or 8.
- Show HN: Running TempleOS in user space without virtualization
-
PfSense Software Embraces Change: A Strategic Migration to the Linux Kernel
There was also a Gentoo effort to run atop FreeBSD[0]. The challenge of course is that afaik none of the BSD kernel ABIs are considered stable. The stable interface is the BSD libc. That said, with binfmt_misc, I don't see a reason you couldn't just run (at least some) FreeBSD binaries on Linux with a thin syscall translation layer (rather something like qemu-system) and then your layer hooked via binfmt_misc. I'm not aware of anyone who has done this for FreeBSD, but prior efforts existed as alternate binfmts for SysVr4/5 ELF binaries[2]. Either way would take some elbow grease, but you *might* even be able just reuse binfmt_elf and just have a new interpreter for FreeBSD elf.
[0] https://wiki.gentoo.org/wiki/Gentoo_FreeBSD
[1] https://docs.kernel.org/admin-guide/binfmt-misc.html
[2] https://github.com/torvalds/linux/blob/master/fs/binfmt_elf....
-
Improvements to static analysis in GCC 14
> The original less-than check was deemed incorrect
It was only deemed incorrect because of an information leak. Not because it's a valid use-case for user space to copy smaller portions of *hwrpb into user space. https://github.com/torvalds/linux/commit/21c5977a836e399fc71...
- Linus Torvalds accepts a merge commit to the Linux kernel
-
TinyMCE (also) moving from MIT to GPL
Correct. And the combined work needs to carry the MIT license text and copyright attributions for the MIT software authors. With binary distribution it must also be overt, not hidden in some source code drop, but directly accompanying the binary.
Many people who talk about relicensing never credit the MIT developers or distribute the MIT license text. "Because it's GPL now."
I don't think that you believe that, but many developers do.
Some don't see the need for source code scans for Open Source compliance, because the license.txt says GPL, so it's GPL. Prime example is the Linux kernel. There is code under different licenses in there, but people don't even read https://github.com/torvalds/linux/blob/master/COPYING till the end ("In addition, other licenses may also apply.") and conclude it's simply GPL 2 and nothing else.
Also be aware that sublicensing is not the same as relicensing.
-
Linus Torvalds is looking for a more modern GUI editor
> Does he have something against it?
He notoriously hates GNU Emacs, yes.
https://marc.info/?m=122955159617722
https://github.com/torvalds/linux/blob/master/Documentation/...
What are some alternatives?
llvm-propeller - PROPELLER: Profile Guided Optimizing Large Scale LLVM-based Relinker
zen-kernel - Zen Patched Kernel Sources
rust - Empowering everyone to build reliable and efficient software.
DS4Windows - Like those other ds4tools, but sexier
winapps - Run Windows apps such as Microsoft Office/Adobe in Linux (Ubuntu/Fedora) and GNOME/KDE as if they were a part of the native OS, including Nautilus integration.
Open and cheap DIY IP-KVM based on Raspberry Pi - Open and inexpensive DIY IP-KVM based on Raspberry Pi
serenity - The Serenity Operating System ๐
DsHidMini - Virtual HID Mini-user-mode-driver for Sony DualShock 3 Controllers
RyzenAdj - Adjust power management settings for Ryzen APUs
edk2-sdm845 - (Maybe) Generic edk2 port for sdm845
void-packages - The Void source packages collection
illumos-gate - An open-source Unix operating system