Skip to content

Instantly share code, notes, and snippets.

@billywhizz
Created January 31, 2026 22:41
Show Gist options
  • Select an option

  • Save billywhizz/397f7929a8920c826c072139b695bb68 to your computer and use it in GitHub Desktop.

Select an option

Save billywhizz/397f7929a8920c826c072139b695bb68 to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash
echo bun-main
./bun-main md.js ONE.md 10 150000 1
echo bun-patched
./bun-patched md.js ONE.md 10 150000 1
echo bun-main
./bun-main md.js TWO.md 10 350000 1
echo bun-patched
./bun-patched md.js TWO.md 10 350000 1
echo bun-main
./bun-main md.js THREE.md 10 2000000 1
echo bun-patched
./bun-patched md.js THREE.md 10 2000000 1
echo bun-main
./bun-main md.js LICENSE.md 10 50000 1
echo bun-patched
./bun-patched md.js LICENSE.md 10 50000 1
echo bun-main
./bun-main md.js CONTRIBUTING.md 10 30000 1
echo bun-patched
./bun-patched md.js CONTRIBUTING.md 10 30000 1

Configuring a development environment for Bun can take 10-30 minutes depending on your internet connection and computer speed. You will need ~10GB of free disk space for the repository and build artifacts.

If you are using Windows, please refer to this guide

Using Nix (Alternative)

A Nix flake is provided as an alternative to manual dependency installation:

nix develop
# or explicitly use the pure shell
# nix develop .#pure
export CMAKE_SYSTEM_PROCESSOR=$(uname -m)
bun bd

This provides all dependencies in an isolated, reproducible environment without requiring sudo.

Install Dependencies (Manual)

Using your system's package manager, install Bun's dependencies:

{% codetabs group="os" %}

$ brew install automake ccache cmake coreutils gnu-sed go icu4c libiconv libtool ninja pkg-config rust ruby
$ sudo apt install curl wget lsb-release software-properties-common cargo cmake git golang libtool ninja-build pkg-config rustc ruby-full xz-utils
$ sudo pacman -S base-devel cmake git go libiconv libtool make ninja pkg-config python rust sed unzip ruby
$ sudo dnf install cargo clang19 llvm19 lld19 cmake git golang libtool ninja-build pkg-config rustc ruby libatomic-static libstdc++-static sed unzip which libicu-devel 'perl(Math::BigInt)'
$ sudo zypper install go cmake ninja automake git icu rustup && rustup toolchain install stable

{% /codetabs %}

Note: The Zig compiler is automatically installed and updated by the build scripts. Manual installation is not required.

Before starting, you will need to already have a release build of Bun installed, as we use our bundler to transpile and minify our code, as well as for code generation scripts.

{% codetabs %}

$ curl -fsSL https://bun.com/install | bash
$ npm install -g bun
$ brew tap oven-sh/bun
$ brew install bun

{% /codetabs %}

Optional: Install ccache

ccache is used to cache compilation artifacts, significantly speeding up builds:

# For macOS
$ brew install ccache

# For Ubuntu/Debian
$ sudo apt install ccache

# For Arch
$ sudo pacman -S ccache

# For Fedora
$ sudo dnf install ccache

# For openSUSE
$ sudo zypper install ccache

Our build scripts will automatically detect and use ccache if available. You can check cache statistics with ccache --show-stats.

Install LLVM

Bun requires LLVM 19 (clang is part of LLVM). This version requirement is to match WebKit (precompiled), as mismatching versions will cause memory allocation failures at runtime. In most cases, you can install LLVM through your system package manager:

{% codetabs group="os" %}

$ brew install llvm@19
$ # LLVM has an automatic installation script that is compatible with all versions of Ubuntu
$ wget https://apt.llvm.org/llvm.sh -O - | sudo bash -s -- 19 all
$ sudo pacman -S llvm clang lld
$ sudo dnf install llvm clang lld-devel
$ sudo zypper install clang19 lld19 llvm19

{% /codetabs %}

If none of the above solutions apply, you will have to install it manually.

Make sure Clang/LLVM 19 is in your path:

$ which clang-19

If not, run this to manually add it:

{% codetabs group="os" %}

# use fish_add_path if you're using fish
# use path+="$(brew --prefix llvm@19)/bin" if you are using zsh
$ export PATH="$(brew --prefix llvm@19)/bin:$PATH"
# use fish_add_path if you're using fish
$ export PATH="$PATH:/usr/lib/llvm19/bin"

{% /codetabs %}

⚠️ Ubuntu distributions (<= 20.04) may require installation of the C++ standard library independently. See the troubleshooting section for more information.

Building Bun

After cloning the repository, run the following command to build. This may take a while as it will clone submodules and build dependencies.

$ bun run build

The binary will be located at ./build/debug/bun-debug. It is recommended to add this to your $PATH. To verify the build worked, let's print the version number on the development build of Bun.

$ build/debug/bun-debug --version
x.y.z_debug

VSCode

VSCode is the recommended IDE for working on Bun, as it has been configured. Once opening, you can run Extensions: Show Recommended Extensions to install the recommended extensions for Zig and C++. ZLS is automatically configured.

If you use a different editor, make sure that you tell ZLS to use the automatically installed Zig compiler, which is located at ./vendor/zig/zig.exe. The filename is zig.exe so that it works as expected on Windows, but it still works on macOS/Linux (it just has a surprising file extension).

We recommend adding ./build/debug to your $PATH so that you can run bun-debug in your terminal:

$ bun-debug

Running debug builds

The bd package.json script compiles and runs a debug build of Bun, only printing the output of the build process if it fails.

$ bun bd <args>
$ bun bd test foo.test.ts
$ bun bd ./foo.ts

Bun generally takes about 2.5 minutes to compile a debug build when there are Zig changes. If your development workflow is "change one line, save, rebuild", you will spend too much time waiting for the build to finish. Instead:

  • Batch up your changes
  • Ensure zls is running with incremental watching for LSP errors (if you use VSCode and install Zig and run bun run build once to download Zig, this should just work)
  • Prefer using the debugger ("CodeLLDB" in VSCode) to step through the code.
  • Use debug logs. BUN_DEBUG_<scope>=1 will enable debug logging for the corresponding Output.scoped(.<scope>, .hidden) logs. You can also set BUN_DEBUG_QUIET_LOGS=1 to disable all debug logging that isn't explicitly enabled. To dump debug logs into a file, BUN_DEBUG=<path-to-file>.log. Debug logs are aggressively removed in release builds.
  • src/js/**.ts changes are pretty much instant to rebuild. C++ changes are a bit slower, but still much faster than the Zig code (Zig is one compilation unit, C++ is many).

Code generation scripts

Several code generation scripts are used during Bun's build process. These are run automatically when changes are made to certain files.

In particular, these are:

  • ./src/codegen/generate-jssink.ts -- Generates build/debug/codegen/JSSink.cpp, build/debug/codegen/JSSink.h which implement various classes for interfacing with ReadableStream. This is internally how FileSink, ArrayBufferSink, "type": "direct" streams and other code related to streams works.
  • ./src/codegen/generate-classes.ts -- Generates build/debug/codegen/ZigGeneratedClasses*, which generates Zig & C++ bindings for JavaScriptCore classes implemented in Zig. In **/*.classes.ts files, we define the interfaces for various classes, methods, prototypes, getters/setters etc which the code generator reads to generate boilerplate code implementing the JavaScript objects in C++ and wiring them up to Zig
  • ./src/codegen/cppbind.ts -- Generates automatic Zig bindings for C++ functions marked with [[ZIG_EXPORT]] attributes.
  • ./src/codegen/bundle-modules.ts -- Bundles built-in modules like node:fs, bun:ffi into files we can include in the final binary. In development, these can be reloaded without rebuilding Zig (you still need to run bun run build, but it re-reads the transpiled files from disk afterwards). In release builds, these are embedded into the binary.
  • ./src/codegen/bundle-functions.ts -- Bundles globally-accessible functions implemented in JavaScript/TypeScript like ReadableStream, WritableStream, and a handful more. These are used similarly to the builtin modules, but the output more closely aligns with what WebKit/Safari does for Safari's built-in functions so that we can copy-paste the implementations from WebKit as a starting point.

Modifying ESM modules

Certain modules like node:fs, node:stream, bun:sqlite, and ws are implemented in JavaScript. These live in src/js/{node,bun,thirdparty} files and are pre-bundled using Bun.

Release build

To compile a release build of Bun, run:

$ bun run build:release

The binary will be located at ./build/release/bun and ./build/release/bun-profile.

Download release build from pull requests

To save you time spent building a release build locally, we provide a way to run release builds from pull requests. This is useful for manually testing changes in a release build before they are merged.

To run a release build from a pull request, you can use the bun-pr npm package:

bunx bun-pr <pr-number>
bunx bun-pr <branch-name>
bunx bun-pr "https://github.com/oven-sh/bun/pull/1234566"
bunx bun-pr --asan <pr-number> # Linux x64 only

This will download the release build from the pull request and add it to $PATH as bun-${pr-number}. You can then run the build with bun-${pr-number}.

bun-1234566 --version

This works by downloading the release build from the GitHub Actions artifacts on the linked pull request. You may need the gh CLI installed to authenticate with GitHub.

AddressSanitizer

AddressSanitizer helps find memory issues, and is enabled by default in debug builds of Bun on Linux and macOS. This includes the Zig code and all dependencies. It makes the Zig code take about 2x longer to build, if that's stopping you from being productive you can disable it by setting -Denable_asan=$<IF:$<BOOL:${ENABLE_ASAN}>,true,false> to -Denable_asan=false in the cmake/targets/BuildBun.cmake file, but generally we recommend batching your changes up between builds.

To build a release build with Address Sanitizer, run:

$ bun run build:release:asan

In CI, we run our test suite with at least one target that is built with Address Sanitizer.

Building WebKit locally + Debug mode of JSC

WebKit is not cloned by default (to save time and disk space). To clone and build WebKit locally, run:

# Clone WebKit into ./vendor/WebKit
$ git clone https://github.com/oven-sh/WebKit vendor/WebKit

# Check out the commit hash specified in `set(WEBKIT_VERSION <commit_hash>)` in cmake/tools/SetupWebKit.cmake
$ git -C vendor/WebKit checkout <commit_hash>

# Make a debug build of JSC. This will output build artifacts in ./vendor/WebKit/WebKitBuild/Debug
# Optionally, you can use `bun run jsc:build` for a release build
$ bun run jsc:build:debug && rm vendor/WebKit/WebKitBuild/Debug/JavaScriptCore/DerivedSources/inspector/InspectorProtocolObjects.h

# After an initial run of `make jsc-debug`, you can rebuild JSC with:
$ cmake --build vendor/WebKit/WebKitBuild/Debug --target jsc && rm vendor/WebKit/WebKitBuild/Debug/JavaScriptCore/DerivedSources/inspector/InspectorProtocolObjects.h

# Build bun with the local JSC build
$ bun run build:local

Using bun run build:local will build Bun in the ./build/debug-local directory (instead of ./build/debug), you'll have to change a couple of places to use this new directory:

  • The first line in src/js/builtins.d.ts
  • The CompilationDatabase line in .clangd config should be CompilationDatabase: build/debug-local
  • In build.zig, the codegen_path option should be build/debug-local/codegen (instead of build/debug/codegen)
  • In .vscode/launch.json, many configurations use ./build/debug/, change them as you see fit

Note that the WebKit folder, including build artifacts, is 8GB+ in size.

If you are using a JSC debug build and using VScode, make sure to run the C/C++: Select a Configuration command to configure intellisense to find the debug headers.

Note that if you change make changes to our WebKit fork, you will also have to change SetupWebKit.cmake to point to the commit hash.

Troubleshooting

'span' file not found on Ubuntu

⚠️ Please note that the instructions below are specific to issues occurring on Ubuntu. It is unlikely that the same issues will occur on other Linux distributions.

The Clang compiler typically uses the libstdc++ C++ standard library by default. libstdc++ is the default C++ Standard Library implementation provided by the GNU Compiler Collection (GCC). While Clang may link against the libc++ library, this requires explicitly providing the -stdlib flag when running Clang.

Bun relies on C++20 features like std::span, which are not available in GCC versions lower than 11. GCC 10 doesn't have all of the C++20 features implemented. As a result, running make setup may fail with the following error:

fatal error: 'span' file not found
#include <span>
         ^~~~~~

The issue may manifest when initially running bun setup as Clang being unable to compile a simple program:

The C++ compiler

  "/usr/bin/clang++-19"

is not able to compile a simple test program.

To fix the error, we need to update the GCC version to 11. To do this, we'll need to check if the latest version is available in the distribution's official repositories or use a third-party repository that provides GCC 11 packages. Here are general steps:

$ sudo apt update
$ sudo apt install gcc-11 g++-11
# If the above command fails with `Unable to locate package gcc-11` we need
# to add the APT repository
$ sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
# Now run `apt install` again
$ sudo apt install gcc-11 g++-11

Now, we need to set GCC 11 as the default compiler:

$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 100
$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 100

libarchive

If you see an error on macOS when compiling libarchive, run:

$ brew install pkg-config

macOS library not found for -lSystem

If you see this error when compiling, run:

$ xcode-select --install

Cannot find libatomic.a

Bun defaults to linking libatomic statically, as not all systems have it. If you are building on a distro that does not have a static libatomic available, you can run the following command to enable dynamic linking:

$ bun run build -DUSE_STATIC_LIBATOMIC=OFF

The built version of Bun may not work on other systems if compiled this way.

Using bun-debug

  • Disable logging: BUN_DEBUG_QUIET_LOGS=1 bun-debug ... (to disable all debug logging)
  • Enable logging for a specific zig scope: BUN_DEBUG_EventLoop=1 bun-debug ... (to allow std.log.scoped(.EventLoop))
  • Bun transpiles every file it runs, to see the actual executed source in a debug build find it in /tmp/bun-debug-src/...path/to/file, for example the transpiled version of /home/bun/index.ts would be in /tmp/bun-debug-src/home/bun/index.ts

Bun itself is MIT-licensed.

JavaScriptCore

Bun statically links JavaScriptCore (and WebKit) which is LGPL-2 licensed. WebCore files from WebKit are also licensed under LGPL2. Per LGPL2:

(1) If you statically link against an LGPL’d library, you must also provide your application in an object (not necessarily source) format, so that a user has the opportunity to modify the library and relink the application.

You can find the patched version of WebKit used by Bun here: https://github.com/oven-sh/webkit. If you would like to relink Bun with changes:

  • git submodule update --init --recursive
  • make jsc
  • zig build

This compiles JavaScriptCore, compiles Bun’s .cpp bindings for JavaScriptCore (which are the object files using JavaScriptCore) and outputs a new bun binary with your changes.

Linked libraries

Bun statically links these libraries:

Library License
boringssl several licenses
brotli MIT
libarchive several licenses
lol-html BSD 3-Clause
mimalloc MIT
picohttp dual-licensed under the Perl License or the MIT License
zstd dual-licensed under the BSD License or GPLv2 license
simdutf Apache 2.0
tinycc LGPL v2.1
uSockets Apache 2.0
zlib-cloudflare zlib
c-ares MIT licensed
libicu 72 license here
libbase64 BSD 2-Clause
libuv (on Windows) MIT
libdeflate MIT
uucode MIT
A fork of uWebsockets Apache 2.0 licensed
Parts of Tigerbeetle's IO code Apache 2.0 licensed

Polyfills

For compatibility reasons, the following packages are embedded into Bun's binary and injected if imported.

Package License
assert MIT
browserify-zlib MIT
buffer MIT
constants-browserify MIT
crypto-browserify MIT
domain-browser MIT
events MIT
https-browserify MIT
os-browserify MIT
path-browserify MIT
process MIT
punycode MIT
querystring-es3 MIT
stream-browserify MIT
stream-http MIT
string_decoder MIT
timers-browserify MIT
tty-browserify MIT
url MIT
util MIT
vm-browserify MIT

Additional credits

  • Bun's JS transpiler, CSS lexer, and Node.js module resolver source code is a Zig port of @evanw’s esbuild project.
  • Credit to @kipply for the name "Bun"!
import { Bench } from './lib/bench.mjs'
import { readFileSync } from 'node:fs'
const { html } = Bun.markdown
const path = args[0] || 'ONE.md'
const iter = parseInt(args[1] || '10', 10)
const runs = parseInt(args[2] || '300000', 10)
let total = parseInt(args[3] || '1', 10)
const bench = new Bench()
const decoder = new TextDecoder()
const markdown = decoder.decode(readFileSync(path))
const expected_length = assert(html(markdown).length)
console.log(expected_length)
while (total--) {
for (let i = 0; i < iter; i++) {
bench.start(path)
for (let j = 0; j < runs; j++) {
assert(html(markdown).length === expected_length)
}
bench.end(runs, markdown.length)
}
}

Nested Lists

  1. First ordered item
    • Nested unordered
    • Another nested
  2. Second ordered item
    1. Nested ordered
    2. Another nested
  3. Third ordered item

Some final paragraph with strikethrough text and more formatting.

Nested Lists

  1. First ordered item
    • Nested unordered
    • Another nested
  2. Second ordered item
    1. Nested ordered
    2. Another nested
  3. Third ordered item

Some final paragraph with strikethrough text and more formatting.

Nested Lists

  1. First ordered item
    • Nested unordered
    • Another nested
  2. Second ordered item
    1. Nested ordered
    2. Another nested
  3. Third ordered item

Some final paragraph with strikethrough text and more formatting.

Nested Lists

  1. First ordered item
    • Nested unordered
    • Another nested
  2. Second ordered item
    1. Nested ordered
    2. Another nested
  3. Third ordered item

Some final paragraph with strikethrough text and more formatting.

Nested Lists

  1. First ordered item
    • Nested unordered
    • Another nested
  2. Second ordered item
    1. Nested ordered
    2. Another nested
  3. Third ordered item

Some final paragraph with strikethrough text and more formatting.

Nested Lists

  1. First ordered item
    • Nested unordered
    • Another nested
  2. Second ordered item
    1. Nested ordered
    2. Another nested
  3. Third ordered item

Some final paragraph with strikethrough text and more formatting.

Nested Lists

  1. First ordered item
    • Nested unordered
    • Another nested
  2. Second ordered item
    1. Nested ordered
    2. Another nested
  3. Third ordered item

Some final paragraph with strikethrough text and more formatting.

Nested Lists

  1. First ordered item
    • Nested unordered
    • Another nested
  2. Second ordered item
    1. Nested ordered
    2. Another nested
  3. Third ordered item

Some final paragraph with strikethrough text and more formatting.

Nested Lists

  1. First ordered item
    • Nested unordered
    • Another nested
  2. Second ordered item
    1. Nested ordered
    2. Another nested
  3. Third ordered item

Some final paragraph with strikethrough text and more formatting.

Nested Lists

  1. First ordered item
    • Nested unordered
    • Another nested
  2. Second ordered item
    1. Nested ordered
    2. Another nested
  3. Third ordered item

Some final paragraph with strikethrough text and more formatting.

bun-main
3410
bun_1.3.8        ONE.md               time     2067 rate        72545 rate/core        72401 ns/iter     13784.67 rss     77627392 usr  99.65 sys   0.55 tot 100.20 thru   177.73 MBps
bun_1.3.8        ONE.md               time     2062 rate        72722 rate/core        72636 ns/iter     13751.14 rss     77807616 usr  99.80 sys   0.32 tot 100.12 thru   178.16 MBps
bun_1.3.8        ONE.md               time     2054 rate        73028 rate/core        72966 ns/iter     13693.56 rss     77807616 usr  99.80 sys   0.28 tot 100.08 thru   178.91 MBps
bun_1.3.8        ONE.md               time     2051 rate        73135 rate/core        73071 ns/iter     13673.46 rss     77807616 usr  99.78 sys   0.31 tot 100.09 thru   179.18 MBps
bun_1.3.8        ONE.md               time     2065 rate        72636 rate/core        72598 ns/iter     13767.45 rss     77807616 usr  99.78 sys   0.28 tot 100.05 thru   177.95 MBps
bun_1.3.8        ONE.md               time     2058 rate        72870 rate/core        72785 ns/iter     13723.10 rss     77856768 usr  99.47 sys   0.65 tot 100.12 thru   178.53 MBps
bun_1.3.8        ONE.md               time     2197 rate        68245 rate/core        73802 ns/iter     14653.10 rss     82182144 usr  91.80 sys   0.67 tot  92.47 thru   167.20 MBps
bun_1.3.8        ONE.md               time     2042 rate        73438 rate/core        73332 ns/iter     13616.98 rss     82182144 usr  99.78 sys   0.36 tot 100.14 thru   179.92 MBps
bun_1.3.8        ONE.md               time     2036 rate        73668 rate/core        73630 ns/iter     13574.43 rss     82198528 usr  99.71 sys   0.34 tot 100.05 thru   180.48 MBps
bun_1.3.8        ONE.md               time     2035 rate        73693 rate/core        73608 ns/iter     13569.96 rss     82198528 usr  99.81 sys   0.30 tot 100.11 thru   180.54 MBps
bun-patched
3410
bun_1.3.8        ONE.md               time     1901 rate        78881 rate/core        78725 ns/iter     12677.37 rss     77430784 usr  99.29 sys   0.91 tot 100.20 thru   193.25 MBps
bun_1.3.8        ONE.md               time     1886 rate        79496 rate/core        79390 ns/iter     12579.29 rss     77578240 usr  99.50 sys   0.64 tot 100.13 thru   194.76 MBps
bun_1.3.8        ONE.md               time     1882 rate        79684 rate/core        79599 ns/iter     12549.62 rss     77578240 usr  99.82 sys   0.29 tot 100.11 thru   195.22 MBps
bun_1.3.8        ONE.md               time     1895 rate        79131 rate/core        79068 ns/iter     12637.32 rss     77578240 usr  99.76 sys   0.32 tot 100.08 thru   193.87 MBps
bun_1.3.8        ONE.md               time     1894 rate        79176 rate/core        79077 ns/iter     12630.22 rss     77578240 usr  99.83 sys   0.29 tot 100.12 thru   193.98 MBps
bun_1.3.8        ONE.md               time     1888 rate        79446 rate/core        79419 ns/iter     12587.19 rss     77709312 usr  99.73 sys   0.31 tot 100.03 thru   194.64 MBps
bun_1.3.8        ONE.md               time     1889 rate        79372 rate/core        78928 ns/iter     12599.01 rss     81838080 usr 100.14 sys   0.42 tot 100.56 thru   194.46 MBps
bun_1.3.8        ONE.md               time     1892 rate        79269 rate/core        79177 ns/iter     12615.33 rss     81854464 usr  99.78 sys   0.33 tot 100.12 thru   194.20 MBps
bun_1.3.8        ONE.md               time     1887 rate        79452 rate/core        79372 ns/iter     12586.37 rss     81870848 usr  99.77 sys   0.33 tot 100.10 thru   194.65 MBps
bun_1.3.8        ONE.md               time     1895 rate        79141 rate/core        79101 ns/iter     12635.71 rss     81870848 usr  99.75 sys   0.30 tot 100.05 thru   193.89 MBps
bun-main
1459
bun_1.3.8        TWO.md               time     2120 rate       165035 rate/core       164782 ns/iter      6059.32 rss     74727424 usr  99.59 sys   0.56 tot 100.15 thru   173.12 MBps
bun_1.3.8        TWO.md               time     2115 rate       165453 rate/core       165184 ns/iter      6044.01 rss     74973184 usr  99.73 sys   0.44 tot 100.16 thru   173.56 MBps
bun_1.3.8        TWO.md               time     2125 rate       164698 rate/core       164518 ns/iter      6071.75 rss     74973184 usr  99.67 sys   0.44 tot 100.11 thru   172.76 MBps
bun_1.3.8        TWO.md               time     2127 rate       164541 rate/core       163788 ns/iter      6077.51 rss     78823424 usr 100.00 sys   0.46 tot 100.46 thru   172.60 MBps
bun_1.3.8        TWO.md               time     2134 rate       163998 rate/core       163829 ns/iter      6097.65 rss     78823424 usr  99.58 sys   0.52 tot 100.10 thru   172.03 MBps
bun_1.3.8        TWO.md               time     2131 rate       164220 rate/core       164046 ns/iter      6089.39 rss     78839808 usr  99.60 sys   0.50 tot 100.11 thru   172.26 MBps
bun_1.3.8        TWO.md               time     2140 rate       163528 rate/core       163407 ns/iter      6115.19 rss     78839808 usr  99.62 sys   0.45 tot 100.07 thru   171.54 MBps
bun_1.3.8        TWO.md               time     2131 rate       164222 rate/core       164028 ns/iter      6089.32 rss     78643200 usr  99.57 sys   0.55 tot 100.12 thru   172.26 MBps
bun_1.3.8        TWO.md               time     2135 rate       163886 rate/core       163772 ns/iter      6101.81 rss     78643200 usr  99.30 sys   0.77 tot 100.07 thru   171.91 MBps
bun_1.3.8        TWO.md               time     2270 rate       154143 rate/core       167993 ns/iter      6487.49 rss     78643200 usr  91.06 sys   0.69 tot  91.76 thru   161.69 MBps
bun-patched
1459
bun_1.3.8        TWO.md               time     1958 rate       178680 rate/core       178316 ns/iter      5596.60 rss     74678272 usr  99.61 sys   0.60 tot 100.20 thru   187.43 MBps
bun_1.3.8        TWO.md               time     1954 rate       179100 rate/core       178930 ns/iter      5583.49 rss     74891264 usr  99.60 sys   0.49 tot 100.09 thru   187.87 MBps
bun_1.3.8        TWO.md               time     1954 rate       179085 rate/core       178841 ns/iter      5583.94 rss     74891264 usr  99.64 sys   0.49 tot 100.14 thru   187.86 MBps
bun_1.3.8        TWO.md               time     1951 rate       179325 rate/core       178356 ns/iter      5576.46 rss     78807040 usr  99.97 sys   0.58 tot 100.54 thru   188.11 MBps
bun_1.3.8        TWO.md               time     1965 rate       178078 rate/core       177945 ns/iter      5615.54 rss     78823424 usr  98.97 sys   1.10 tot 100.07 thru   186.80 MBps
bun_1.3.8        TWO.md               time     1960 rate       178533 rate/core       178305 ns/iter      5601.22 rss     78839808 usr  99.59 sys   0.54 tot 100.13 thru   187.28 MBps
bun_1.3.8        TWO.md               time     1959 rate       178597 rate/core       178438 ns/iter      5599.21 rss     78839808 usr  99.54 sys   0.55 tot 100.09 thru   187.34 MBps
bun_1.3.8        TWO.md               time     1965 rate       178058 rate/core       177899 ns/iter      5616.15 rss     78839808 usr  99.55 sys   0.54 tot 100.09 thru   186.78 MBps
bun_1.3.8        TWO.md               time     1959 rate       178627 rate/core       178396 ns/iter      5598.28 rss     78643200 usr  99.58 sys   0.55 tot 100.13 thru   187.37 MBps
bun_1.3.8        TWO.md               time     1957 rate       178818 rate/core       178695 ns/iter      5592.29 rss     78643200 usr  99.58 sys   0.49 tot 100.07 thru   187.58 MBps
bun-main
196
bun_1.3.8        THREE.md             time     2034 rate       982898 rate/core       980154 ns/iter      1017.40 rss    527974400 usr  98.18 sys   2.10 tot 100.28 thru   118.93 MBps
bun_1.3.8        THREE.md             time     2030 rate       984840 rate/core       979999 ns/iter      1015.39 rss    539066368 usr  99.91 sys   0.58 tot 100.49 thru   119.16 MBps
bun_1.3.8        THREE.md             time     2017 rate       991520 rate/core       991519 ns/iter      1008.55 rss    553402368 usr  99.61 sys   0.39 tot 100.00 thru   119.97 MBps
bun_1.3.8        THREE.md             time     2040 rate       980106 rate/core       979435 ns/iter      1020.29 rss    553435136 usr  99.81 sys   0.26 tot 100.07 thru   118.59 MBps
bun_1.3.8        THREE.md             time     2056 rate       972428 rate/core       972183 ns/iter      1028.35 rss    553435136 usr  99.70 sys   0.32 tot 100.03 thru   117.66 MBps
bun_1.3.8        THREE.md             time     2035 rate       982345 rate/core       981956 ns/iter      1017.97 rss    553435136 usr  99.71 sys   0.33 tot 100.04 thru   118.86 MBps
bun_1.3.8        THREE.md             time     2034 rate       983128 rate/core       982565 ns/iter      1017.16 rss    553238528 usr  99.77 sys   0.28 tot 100.06 thru   118.95 MBps
bun_1.3.8        THREE.md             time     2009 rate       995264 rate/core       995231 ns/iter      1004.75 rss    553238528 usr  99.73 sys   0.27 tot 100.00 thru   120.42 MBps
bun_1.3.8        THREE.md             time     2030 rate       984790 rate/core       984519 ns/iter      1015.44 rss    553238528 usr  99.76 sys   0.26 tot 100.03 thru   119.15 MBps
bun_1.3.8        THREE.md             time     2034 rate       983252 rate/core       982875 ns/iter      1017.03 rss    553238528 usr  99.78 sys   0.26 tot 100.04 thru   118.97 MBps
bun-patched
196
bun_1.3.8        THREE.md             time     1973 rate      1013282 rate/core      1009919 ns/iter       986.89 rss    528089088 usr  98.04 sys   2.29 tot 100.33 thru   122.60 MBps
bun_1.3.8        THREE.md             time     1981 rate      1009367 rate/core      1004653 ns/iter       990.72 rss    539148288 usr  99.52 sys   0.95 tot 100.47 thru   122.13 MBps
bun_1.3.8        THREE.md             time     2085 rate       959137 rate/core      1404819 ns/iter      1042.60 rss    553517056 usr  67.78 sys   0.50 tot  68.27 thru   116.05 MBps
bun_1.3.8        THREE.md             time     1961 rate      1019856 rate/core      1019479 ns/iter       980.53 rss    553533440 usr  99.79 sys   0.25 tot 100.04 thru   123.40 MBps
bun_1.3.8        THREE.md             time     1948 rate      1026569 rate/core      1026075 ns/iter       974.11 rss    553533440 usr  99.78 sys   0.27 tot 100.05 thru   124.21 MBps
bun_1.3.8        THREE.md             time     1964 rate      1018271 rate/core      1017742 ns/iter       982.05 rss    553533440 usr  99.77 sys   0.29 tot 100.05 thru   123.21 MBps
bun_1.3.8        THREE.md             time     1944 rate      1028366 rate/core      1027972 ns/iter       972.41 rss    553336832 usr  99.75 sys   0.29 tot 100.04 thru   124.43 MBps
bun_1.3.8        THREE.md             time     1956 rate      1022473 rate/core      1022063 ns/iter       978.02 rss    553336832 usr  99.27 sys   0.77 tot 100.04 thru   123.71 MBps
bun_1.3.8        THREE.md             time     1956 rate      1022242 rate/core      1022215 ns/iter       978.24 rss    553336832 usr  99.48 sys   0.52 tot 100.00 thru   123.69 MBps
bun_1.3.8        THREE.md             time     1960 rate      1019992 rate/core      1019738 ns/iter       980.40 rss    553336832 usr  99.74 sys   0.28 tot 100.02 thru   123.41 MBps
bun-main
6586
bun_1.3.8        LICENSE.md           time     1781 rate        28066 rate/core        27983 ns/iter     35630.55 rss     81018880 usr  99.49 sys   0.81 tot 100.30 thru   126.29 MBps
bun_1.3.8        LICENSE.md           time     1799 rate        27785 rate/core        27709 ns/iter     35991.28 rss     81084416 usr  99.64 sys   0.63 tot 100.28 thru   125.03 MBps
bun_1.3.8        LICENSE.md           time     1790 rate        27925 rate/core        27861 ns/iter     35811.00 rss     81084416 usr  99.68 sys   0.55 tot 100.23 thru   125.66 MBps
bun_1.3.8        LICENSE.md           time     1791 rate        27903 rate/core        27848 ns/iter     35839.47 rss     81084416 usr  99.58 sys   0.61 tot 100.20 thru   125.56 MBps
bun_1.3.8        LICENSE.md           time     1797 rate        27820 rate/core        27770 ns/iter     35946.54 rss     81084416 usr  99.52 sys   0.66 tot 100.18 thru   125.19 MBps
bun_1.3.8        LICENSE.md           time     1800 rate        27774 rate/core        27699 ns/iter     36005.88 rss     81084416 usr  99.61 sys   0.66 tot 100.27 thru   124.98 MBps
bun_1.3.8        LICENSE.md           time     1791 rate        27912 rate/core        27850 ns/iter     35827.06 rss     81002496 usr  99.71 sys   0.52 tot 100.22 thru   125.60 MBps
bun_1.3.8        LICENSE.md           time     1788 rate        27959 rate/core        27912 ns/iter     35767.81 rss     85196800 usr  99.57 sys   0.60 tot 100.17 thru   125.81 MBps
bun_1.3.8        LICENSE.md           time     1802 rate        27739 rate/core        27673 ns/iter     36051.32 rss     85196800 usr  99.54 sys   0.69 tot 100.24 thru   124.82 MBps
bun_1.3.8        LICENSE.md           time     1792 rate        27899 rate/core        27835 ns/iter     35843.65 rss     85196800 usr  99.56 sys   0.67 tot 100.23 thru   125.54 MBps
bun-patched
6586
bun_1.3.8        LICENSE.md           time     1709 rate        29250 rate/core        29148 ns/iter     34188.17 rss     80855040 usr  99.63 sys   0.72 tot 100.35 thru   131.62 MBps
bun_1.3.8        LICENSE.md           time     1702 rate        29361 rate/core        29282 ns/iter     34059.58 rss     80920576 usr  99.64 sys   0.63 tot 100.27 thru   132.12 MBps
bun_1.3.8        LICENSE.md           time     1719 rate        29079 rate/core        29000 ns/iter     34389.93 rss     80920576 usr  99.68 sys   0.59 tot 100.27 thru   130.85 MBps
bun_1.3.8        LICENSE.md           time     1714 rate        29171 rate/core        29112 ns/iter     34280.84 rss     80920576 usr  99.66 sys   0.54 tot 100.20 thru   131.26 MBps
bun_1.3.8        LICENSE.md           time     1708 rate        29269 rate/core        29214 ns/iter     34166.29 rss     80920576 usr  99.63 sys   0.56 tot 100.19 thru   131.71 MBps
bun_1.3.8        LICENSE.md           time     1724 rate        28988 rate/core        28934 ns/iter     34497.35 rss     80920576 usr  99.64 sys   0.55 tot 100.19 thru   130.44 MBps
bun_1.3.8        LICENSE.md           time     1715 rate        29138 rate/core        29078 ns/iter     34319.80 rss     80920576 usr  99.66 sys   0.55 tot 100.21 thru   131.12 MBps
bun_1.3.8        LICENSE.md           time     1713 rate        29173 rate/core        29112 ns/iter     34278.34 rss     85032960 usr  99.25 sys   0.96 tot 100.21 thru   131.27 MBps
bun_1.3.8        LICENSE.md           time     1862 rate        26843 rate/core        33237 ns/iter     37255.00 rss     85032960 usr  79.75 sys   1.01 tot  80.76 thru   120.79 MBps
bun_1.3.8        LICENSE.md           time     1720 rate        29064 rate/core        28971 ns/iter     34407.01 rss     85032960 usr  99.49 sys   0.83 tot 100.32 thru   130.78 MBps
bun-main
18211
bun_1.3.8        CONTRIBUTING.md      time     1932 rate        15524 rate/core        15476 ns/iter     64416.61 rss     80871424 usr  99.60 sys   0.71 tot 100.31 thru   236.24 MBps
bun_1.3.8        CONTRIBUTING.md      time     1937 rate        15483 rate/core        15449 ns/iter     64589.59 rss     80936960 usr  99.60 sys   0.62 tot 100.22 thru   235.62 MBps
bun_1.3.8        CONTRIBUTING.md      time     1918 rate        15639 rate/core        15612 ns/iter     63943.13 rss     80936960 usr  99.59 sys   0.59 tot 100.17 thru   237.99 MBps
bun_1.3.8        CONTRIBUTING.md      time     1955 rate        15342 rate/core        15306 ns/iter     65182.28 rss     80936960 usr  99.10 sys   1.13 tot 100.23 thru   233.47 MBps
bun_1.3.8        CONTRIBUTING.md      time     1936 rate        15495 rate/core        15467 ns/iter     64540.40 rss     80936960 usr  99.40 sys   0.78 tot 100.18 thru   235.80 MBps
bun_1.3.8        CONTRIBUTING.md      time     1910 rate        15705 rate/core        15679 ns/iter     63674.57 rss     80936960 usr  99.60 sys   0.57 tot 100.17 thru   238.99 MBps
bun_1.3.8        CONTRIBUTING.md      time     1907 rate        15728 rate/core        15690 ns/iter     63580.95 rss     80855040 usr  99.63 sys   0.61 tot 100.24 thru   239.34 MBps
bun_1.3.8        CONTRIBUTING.md      time     1905 rate        15740 rate/core        15707 ns/iter     63533.11 rss     80855040 usr  99.69 sys   0.52 tot 100.21 thru   239.53 MBps
bun_1.3.8        CONTRIBUTING.md      time     1903 rate        15763 rate/core        15741 ns/iter     63440.12 rss     85032960 usr  99.62 sys   0.52 tot 100.14 thru   239.88 MBps
bun_1.3.8        CONTRIBUTING.md      time     1911 rate        15694 rate/core        15651 ns/iter     63721.22 rss     85032960 usr  99.59 sys   0.69 tot 100.28 thru   238.83 MBps
bun-patched
18211
bun_1.3.8        CONTRIBUTING.md      time     1648 rate        18198 rate/core        18126 ns/iter     54951.13 rss     80822272 usr  99.66 sys   0.74 tot 100.40 thru   276.93 MBps
bun_1.3.8        CONTRIBUTING.md      time     1650 rate        18178 rate/core        18138 ns/iter     55011.99 rss     80887808 usr  99.49 sys   0.73 tot 100.22 thru   276.63 MBps
bun_1.3.8        CONTRIBUTING.md      time     1652 rate        18157 rate/core        18120 ns/iter     55077.55 rss     80887808 usr  99.65 sys   0.55 tot 100.20 thru   276.31 MBps
bun_1.3.8        CONTRIBUTING.md      time     1648 rate        18198 rate/core        18152 ns/iter     54953.08 rss     80887808 usr  99.64 sys   0.61 tot 100.25 thru   276.93 MBps
bun_1.3.8        CONTRIBUTING.md      time     1652 rate        18150 rate/core        18116 ns/iter     55099.10 rss     80887808 usr  99.67 sys   0.52 tot 100.19 thru   276.20 MBps
bun_1.3.8        CONTRIBUTING.md      time     1651 rate        18161 rate/core        18125 ns/iter     55064.39 rss     80887808 usr  99.59 sys   0.61 tot 100.20 thru   276.37 MBps
bun_1.3.8        CONTRIBUTING.md      time     1650 rate        18175 rate/core        18135 ns/iter     55023.47 rss     80887808 usr  99.61 sys   0.61 tot 100.22 thru   276.58 MBps
bun_1.3.8        CONTRIBUTING.md      time     1651 rate        18165 rate/core        18111 ns/iter     55053.03 rss     80805888 usr  99.67 sys   0.62 tot 100.29 thru   276.43 MBps
bun_1.3.8        CONTRIBUTING.md      time     1649 rate        18190 rate/core        18161 ns/iter     54976.48 rss     84983808 usr  99.55 sys   0.61 tot 100.16 thru   276.81 MBps
bun_1.3.8        CONTRIBUTING.md      time     1651 rate        18169 rate/core        18123 ns/iter     55040.30 rss     84983808 usr  99.63 sys   0.63 tot 100.26 thru   276.49 MBps

Hello World

This is a bold and italic paragraph with a link.

  • Item 1
  • Item 2
  • Item 3

Project README

Introduction

This is a medium-sized markdown document that includes bold text, italic text, and `inline code`. It also has links and various formatting.

Features

  • Feature one with bold
  • Feature two with emphasis
  • Feature three with `code`
  • Feature four with a link

Code Example

```javascript function hello() { console.log("Hello, world!"); return 42; }

const result = hello(); ```

Table

Name Value Description
foo 1 First item
bar 2 Second item
baz 3 Third item

Blockquote

This is a blockquote with bold and italic text. It spans multiple lines and contains a link.


Nested Lists

  1. First ordered item
    • Nested unordered
    • Another nested
  2. Second ordered item
    1. Nested ordered
    2. Another nested
  3. Third ordered item

Some final paragraph with strikethrough text and more formatting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment