Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
7423bde
fix rocksdb build on fedora bz backporting an upstream patch
Jul 18, 2025
5b538ff
fix another instance of missing cstdint
Jul 18, 2025
913ab4e
WIP: rewrite build_bench_env in Make
Aug 4, 2025
a886e7b
* WIP: solve a make-dependency problem, put "large PDF" into the righ…
Aug 5, 2025
f68d881
* expand. fix a few targets, supply more versions
Aug 6, 2025
e3b94bb
* Makefile: je: add configure step
Aug 6, 2025
38528d8
* Makefile: fix tbb
Aug 6, 2025
9eb39c2
* Makefile: finish on ARM64 for now
Aug 7, 2025
4c78c05
add a ToDo for tar selective unpacking
Sep 9, 2025
ffbd5b8
re-add fg
Sep 9, 2025
ddcbb28
lt: re-add
Sep 9, 2025
f5077d5
sc: re-add
Sep 9, 2025
560ac03
sm: re-add
Sep 9, 2025
8270e08
do not build allocators on aarch64 that do not build on that platform
Sep 9, 2025
c4e754b
fix quoting to make style
Sep 9, 2025
e44fd39
lean: build smaller target
Sep 10, 2025
f91afc8
document standalone repo for pa to further investigate
Sep 10, 2025
017f07a
Merge branch 'master' into build_with_makefile
Sep 10, 2025
c5b8666
port building linux to the Makefile
Sep 10, 2025
71b60ce
gd: fix random function selection
Sep 10, 2025
f0ae03b
add more ToDos
Sep 10, 2025
80f1cf3
re-add mesh
Sep 12, 2025
c7adfd6
nomesh: re-add
Sep 12, 2025
9e71af7
bench: update dh's location
Sep 12, 2025
f8ed28a
build_bench_env: document a dependency of gyp for ArchLinux
Sep 12, 2025
98dfa6f
notes: small cleanup
Sep 12, 2025
fed31d0
gd: fix build on aarch64
Sep 15, 2025
38d8445
notes: update
Sep 15, 2025
ed946ba
lean: do not build the tests, also do not delete them afterwards
Sep 15, 2025
c0cc30d
Makefile: tar: exclude some files from extraction that are unneeded
Sep 15, 2025
63877ec
sm: do not extract unneeded things
Sep 16, 2025
e70c117
Dependencies: document in README, start to adapt CI
Sep 16, 2025
69e4460
CI: make Ubuntu work
Sep 16, 2025
6003c37
ported notes into github PR description
Sep 25, 2025
bc0936a
CI: switch build_bench_env to Makefile
Sep 25, 2025
ffbdf87
Makefile: use make function instead of echo
Sep 25, 2025
6cac134
Makefile: fix sha256sum for alpine
Sep 25, 2025
afc94bb
Makefile: create extern/ if not already present
Sep 25, 2025
7f49ba0
CI: alpine: install bazel@testing
Sep 29, 2025
cbfec9e
bench.sh: remove versioning info from benchmarks paths
Sep 29, 2025
956b8f8
bench.sh: adapt mesh and nomesh library path to where it is built wit…
Sep 29, 2025
92cb87a
CI: fix bazel on fedora
Sep 30, 2025
668ae5b
CI: try bazel8 on fedora, see if the allocs can be build with that
Sep 30, 2025
607b148
Merge branch 'fix_rocksdb_fedora' into build_with_makefile
Sep 30, 2025
eb2444a
Makefile: patch rocksdb on fedore (depends on #240), move target decl…
Sep 30, 2025
eeb4546
Makefile/sn: fix a dependency causing constant rebuilds
Sep 30, 2025
33958c7
Makefile: fix a typo
Sep 30, 2025
8bd60f5
Makefile: declare flags before using them
Sep 30, 2025
590c9f7
README: document how to install bazel for fedora and alpine
Sep 30, 2025
5638901
Makefile: apply rocksdb-patch on every platform
Sep 30, 2025
272eb70
MAkefile: fix a typo
derSteFfi Oct 9, 2025
da5a2c6
Makefile: rocksdb: use CLI switch of patch instead of manually cd'ing
Oct 1, 2025
601eb22
Makefile: fix incorrect variable reference found by CoPilot
derSteFfi Oct 9, 2025
72233eb
Makefile: download archives less cryptic
Oct 9, 2025
f3ba1fa
Makefile: rocksdb: use CLI switch of patch instead of manually cd'ing
Oct 1, 2025
bc755b8
Makefile: download archives less cryptic
Oct 9, 2025
37b4f19
README.md: fix sudo echo into file as suggested by CoPilot
derSteFfi Oct 9, 2025
a7538c7
Makefile: fix incorrect variable reference found by CoPilot
derSteFfi Oct 9, 2025
71112be
README.md: fix sudo echo into file as suggested by CoPilot
derSteFfi Oct 9, 2025
bfc5227
MAkefile: fix dh source dir
Oct 9, 2025
b173730
Makefile: fix sn
Oct 9, 2025
432467e
VERSIONS: re-switch to master for every allocator that was on master …
Oct 9, 2025
79118be
MAkefile: fix dh source dir
Oct 9, 2025
1c16750
Makefile: fix sn
Oct 9, 2025
df23d8d
VERSIONS: re-switch to master for every allocator that was on master …
Oct 9, 2025
e3f4f71
Merge remote-tracking branch 'origin/build_with_makefile' into build_…
Oct 9, 2025
dcbb102
Makefile re-unify the allocs
Oct 9, 2025
d987332
Makefile: shasum: correct flags on MacOS
Oct 9, 2025
d9c965e
Revert "MAkefile: fix dh source dir"
Oct 10, 2025
40da63e
Makefile: fix a remaining rename of ALLOCS
Oct 10, 2025
209c65b
Makefile: re-add lp
Oct 10, 2025
5db0fa3
Makefile: lp: correctly quote "$" in sed line
Oct 10, 2025
72d2957
Makefile: do not interfere with CFLAGS, let the "subprojects" do that
Oct 10, 2025
39f1818
Makefile: fix scudo
Oct 10, 2025
8543d41
Makefile: parse version info for scudo and lp the way it is done for …
Oct 10, 2025
2d0082e
CI: ubuntu: install bazel the recommended way
Oct 13, 2025
a92744a
CI: ubuntu: bazel: stick to the install method from build_bench_env.sh
Oct 13, 2025
007b144
CI: alpine: install bazel the way build_bench_env.sh did
Oct 13, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 1 addition & 4 deletions .github/workflows/all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,8 @@ jobs:
strategy:
matrix:
platform: [ubuntu, alpine, fedora]
exclude:
# Fedora is not currently building lean.
- platform: fedora
fail-fast: false
uses: ./.github/workflows/platform.yml
name: ${{ matrix.platform }}
with:
platform: ${{ matrix.platform }}
platform: ${{ matrix.platform }}
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
archives/
extern/
out/
bench/doc/
Expand Down
48 changes: 33 additions & 15 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,14 +1,36 @@
ARG platform=ubuntu

FROM ubuntu:24.04 AS ubuntu

RUN apt-get update
RUN apt-get install -y --no-install-recommends build-essential git gpg \
g++ clang lld llvm-dev unzip dos2unix linuxinfo bc libgmp-dev wget \
cmake python3 ruby ninja-build libtool autoconf sed ghostscript \
time curl automake libatomic1 libgflags-dev libsnappy-dev \
zlib1g-dev libbz2-dev liblz4-dev libzstd-dev libreadline-dev \
pkg-config gawk util-linux
# Install bazel
RUN apt-get install -y --no-install-recommends apt-transport-https curl gnupg
RUN curl -fsSL https://bazel.build/bazel-release.pub.gpg | gpg --dearmor > bazel.gpg
RUN mv bazel.gpg /etc/apt/trusted.gpg.d/bazel.gpg
RUN echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" > /etc/apt/sources.list.d/bazel.list
RUN apt-get update && apt-get install bazel

FROM fedora:latest AS fedora

RUN dnf -y --quiet --nodocs install gcc-c++ clang lld llvm-devel unzip \
dos2unix bc gmp-devel wget gawk cmake python3 ruby ninja-build libtool \
autoconf git patch time sed ghostscript libatomic libstdc++ which \
gflags-devel xz readline-devel snappy-devel
RUN dnf -y --quiet copr enable ohadm/bazel
RUN dnf -y --quiet --nodocs install bazel8

FROM alpine:latest AS alpine
RUN echo "@testing http://nl.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories
RUN apk update
RUN apk add --no-cache bash

RUN apk add -q clang lld unzip dos2unix bc gmp-dev wget cmake python3 \
automake gawk samurai libtool git build-base linux-headers autoconf \
util-linux sed ghostscript libatomic gflags-dev readline-dev snappy-dev
RUN apk add -q bazel@testing

FROM ${platform} AS bench-env

Expand All @@ -17,17 +39,13 @@ RUN mkdir -p /mimalloc-bench
COPY . /mimalloc-bench

WORKDIR /mimalloc-bench
# Install dependencies
RUN ./build-bench-env.sh packages

# Build benchmarks
RUN ./build-bench-env.sh bench

RUN ./build-bench-env.sh redis

RUN ./build-bench-env.sh rocksdb

RUN ./build-bench-env.sh lean
RUN make benchmarks
RUN make redis
RUN make rocksdb
RUN make lean
RUN make lua
RUN make linux

FROM bench-env AS benchmark

Expand All @@ -37,8 +55,8 @@ ARG allocator=mi
ARG benchs=cfrac
ARG repeats=1

RUN ./build-bench-env.sh $allocator
RUN make $allocator

# Run benchmarks
WORKDIR /mimalloc-bench/out/bench
RUN ../../bench.sh $allocator $benchs -r=$repeats
RUN ../../bench.sh $allocator $benchs -r=$repeats
Loading
Loading