Skip to content

Commit ae181fa

Browse files
committed
tcmalloc test
1 parent 0e89b98 commit ae181fa

File tree

6 files changed

+221
-26
lines changed

6 files changed

+221
-26
lines changed

.github/setup.yml

Lines changed: 81 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,50 +3,125 @@
33
shell: sh
44
run: |
55
case "${{ join(matrix.targets) }}" in
6+
*aarch64*linux*musl*)
7+
sudo apt-get install -y gcc-aarch64-linux-gnu
8+
curl -Ls -o- https://github.com/rui314/mold/releases/download/v2.40.3/mold-2.40.3-aarch64-linux.tar.gz|sudo tar --strip=1 -xzf - -C/usr/local/
9+
hash -r
10+
export RUSTFLAGS="-Clink-arg=-Bmold"
11+
expr "$CC" : ".*gcc" >/dev/null && : "${CFLAGS:=-std=c11 -Bmold -Wno-implicit-function-declaration -Wno-error=implicit-function-declaration}"
12+
export CC
13+
export CFLAGS
14+
;;
615
*aarch64*linux*)
7-
sudo apt-get install gcc-aarch64-linux-gnu -y
16+
sudo apt-get install -y gcc-aarch64-linux-gnu
817
#sed -i -e 's|^#rustc-wrapper|rustc-wrapper|' .cargo/config.toml
918
#curl -LO https://github.com/mozilla/sccache/releases/download/v0.9.0/sccache-v0.9.0-x86_64-unknown-linux-musl.tar.gz
1019
#tar -xvf sccache-v0.9.0-x86_64-unknown-linux-musl.tar.gz --strip=1 -C ~/.cargo/bin/
1120
#ls -l ~/.cargo/bin/
12-
curl -Ls -o- https://github.com/rui314/mold/releases/download/v2.36.0/mold-2.36.0-aarch64-linux.tar.gz|sudo tar --strip=1 -xzf - -C/usr/local/
21+
curl -Ls -o- https://github.com/rui314/mold/releases/download/v2.40.3/mold-2.40.3-aarch64-linux.tar.gz|sudo tar --strip=1 -xzf - -C/usr/local/
22+
hash -r
23+
export RUSTFLAGS="-Clink-arg=-Bmold"
24+
expr "$CC" : ".*gcc" >/dev/null && : "${CFLAGS:=-std=c11 -Bmold -Wno-implicit-function-declaration -Wno-error=implicit-function-declaration}"
25+
export CC
26+
export CFLAGS
27+
;;
28+
*arm*linux*musl*)
29+
sudo apt-get install -y gcc-arm-linux-gnueabihf
30+
curl -Ls -o- https://github.com/rui314/mold/releases/download/v2.40.3/mold-2.40.3-arm-linux.tar.gz|sudo tar --strip=1 -xzf - -C/usr/local/
1331
hash -r
1432
export RUSTFLAGS="-Clink-arg=-Bmold"
1533
expr "$CC" : ".*gcc" >/dev/null && : "${CFLAGS:=-std=c11 -Bmold -Wno-implicit-function-declaration -Wno-error=implicit-function-declaration}"
34+
export CC
1635
export CFLAGS
1736
;;
1837
*arm*linux*)
19-
sudo apt-get install gcc-arm-linux-gnueabihf -y
38+
sudo apt-get install -y gcc-arm-linux-gnueabihf
2039
#sed -i -e 's|^#rustc-wrapper|rustc-wrapper|' .cargo/config.toml
2140
#curl -LO https://github.com/mozilla/sccache/releases/download/v0.9.0/sccache-v0.9.0-x86_64-unknown-linux-musl.tar.gz
2241
#tar -xvf sccache-v0.9.0-x86_64-unknown-linux-musl.tar.gz --strip=1 -C ~/.cargo/bin/
2342
#ls -l ~/.cargo/bin/
24-
curl -Ls -o- https://github.com/rui314/mold/releases/download/v2.36.0/mold-2.36.0-arm-linux.tar.gz|sudo tar --strip=1 -xzf - -C/usr/local/
43+
curl -Ls -o- https://github.com/rui314/mold/releases/download/v2.40.3/mold-2.40.3-arm-linux.tar.gz|sudo tar --strip=1 -xzf - -C/usr/local/
44+
hash -r
45+
export RUSTFLAGS="-Clink-arg=-Bmold"
46+
expr "$CC" : ".*gcc" >/dev/null && : "${CFLAGS:=-std=c11 -Bmold -Wno-implicit-function-declaration -Wno-error=implicit-function-declaration}"
47+
export CC
48+
export CFLAGS
49+
;;
50+
*linux*musl*)
51+
sudo apt-get install -y libgoogle-perftools-dev pkg-config
52+
curl -Ls -o- https://github.com/rui314/mold/releases/download/v2.40.3/mold-2.40.3-x86_64-linux.tar.gz|sudo tar --strip=1 -xzf - -C/usr/local/
2553
hash -r
2654
export RUSTFLAGS="-Clink-arg=-Bmold"
2755
expr "$CC" : ".*gcc" >/dev/null && : "${CFLAGS:=-std=c11 -Bmold -Wno-implicit-function-declaration -Wno-error=implicit-function-declaration}"
56+
export CC
2857
export CFLAGS
58+
#export CXXFLAGS
2959
;;
3060
*linux*)
3161
#sed -i -e 's|^#rustc-wrapper|rustc-wrapper|' .cargo/config.toml
62+
sudo apt-get install -y libgoogle-perftools-dev pkg-config
3263
#curl -LO https://github.com/mozilla/sccache/releases/download/v0.9.0/sccache-v0.9.0-x86_64-unknown-linux-musl.tar.gz
3364
#tar -xvf sccache-v0.9.0-x86_64-unknown-linux-musl.tar.gz --strip=1 -C ~/.cargo/bin/
3465
#ls -l ~/.cargo/bin/
35-
curl -Ls -o- https://github.com/rui314/mold/releases/download/v2.36.0/mold-2.36.0-x86_64-linux.tar.gz|sudo tar --strip=1 -xzf - -C/usr/local/
66+
curl -Ls -o- https://github.com/rui314/mold/releases/download/v2.40.3/mold-2.40.3-x86_64-linux.tar.gz|sudo tar --strip=1 -xzf - -C/usr/local/
3667
hash -r
3768
export RUSTFLAGS="-Clink-arg=-Bmold"
3869
expr "$CC" : ".*gcc" >/dev/null && : "${CFLAGS:=-std=c11 -Bmold -Wno-implicit-function-declaration -Wno-error=implicit-function-declaration}"
70+
export CC
3971
export CFLAGS
72+
export CXXFLAGS
73+
;;
74+
esac
75+
76+
- name: features Setting
77+
id: features
78+
shell: bash
79+
run: |
80+
case "${{ join(matrix.targets) }}" in
81+
*arm*linux*musl*)
82+
echo "cargo=cargo" >> $GITHUB_OUTPUT
83+
echo "features=" >> $GITHUB_OUTPUT
84+
;;
85+
*aarch64*linux*musl*)
86+
echo "cargo=cargo" >> $GITHUB_OUTPUT
87+
echo "features=" >> $GITHUB_OUTPUT
88+
;;
89+
*linux*musl*)
90+
echo "features=use-mimalloc-rs" >> $GITHUB_OUTPUT
91+
echo "cargo=cargo" >> $GITHUB_OUTPUT
92+
;;
93+
*aarch64*linux*)
94+
echo "features=use-mimalloc-rs" >> $GITHUB_OUTPUT
95+
echo "cargo=cargo" >> $GITHUB_OUTPUT
96+
;;
97+
*arm*linux*)
98+
echo "features=use-mimalloc-rs" >> $GITHUB_OUTPUT
99+
echo "cargo=cargo" >> $GITHUB_OUTPUT
100+
;;
101+
*linux*)
102+
echo "features=use-tcmalloc" >> $GITHUB_OUTPUT
103+
echo "cargo=cargo" >> $GITHUB_OUTPUT
104+
;;
105+
*windows*)
106+
echo "features=" >> $GITHUB_OUTPUT
107+
echo "cargo=cargo-xwin" >> $GITHUB_OUTPUT
108+
;;
109+
*)
110+
echo "features=use-mimalloc-rs" >> $GITHUB_OUTPUT
111+
echo "cargo=cargo" >> $GITHUB_OUTPUT
40112
;;
41113
esac
114+
## backup memo
115+
#sed -i -e "s/features = .*/features = [\"${{ steps.features.outputs.features }}\"]/" dist-workspace.toml
42116
43117
- name: Install rust and rust-src
44118
shell: bash
45119
run: |
46120
# nightly -> rust 1.85.1 stable
47121
#sed -i -e 's|channel.*=.*|channel = "nightly"|' rust-toolchain.toml
48122
#sed -i -e 's|features =.*$|features = [ "use-mimalloc-rs", "unstable" ]|' dist-workspace.toml
49-
123+
rustup target add "${{ join(matrix.targets) }}"
124+
rustup component add rust-src
50125
#rust-toolchain.tomlに記載しているので、cargoコマンドで自動で追加インストールされるため不要
51126
#rustup update nightly
52127
#rustup component add rust-src --toolchain nightly

.github/workflows/release.yml

Lines changed: 83 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -131,49 +131,125 @@ jobs:
131131
if: "runner.os == 'Linux'"
132132
run: |
133133
case "${{ join(matrix.targets) }}" in
134+
*aarch64*linux*musl*)
135+
sudo apt-get install -y gcc-aarch64-linux-gnu
136+
curl -Ls -o- https://github.com/rui314/mold/releases/download/v2.40.3/mold-2.40.3-aarch64-linux.tar.gz|sudo tar --strip=1 -xzf - -C/usr/local/
137+
hash -r
138+
export RUSTFLAGS="-Clink-arg=-Bmold"
139+
expr "$CC" : ".*gcc" >/dev/null && : "${CFLAGS:=-std=c11 -Bmold -Wno-implicit-function-declaration -Wno-error=implicit-function-declaration}"
140+
export CC
141+
export CFLAGS
142+
;;
134143
*aarch64*linux*)
135-
sudo apt-get install gcc-aarch64-linux-gnu -y
144+
sudo apt-get install -y gcc-aarch64-linux-gnu
136145
#sed -i -e 's|^#rustc-wrapper|rustc-wrapper|' .cargo/config.toml
137146
#curl -LO https://github.com/mozilla/sccache/releases/download/v0.9.0/sccache-v0.9.0-x86_64-unknown-linux-musl.tar.gz
138147
#tar -xvf sccache-v0.9.0-x86_64-unknown-linux-musl.tar.gz --strip=1 -C ~/.cargo/bin/
139148
#ls -l ~/.cargo/bin/
140-
curl -Ls -o- https://github.com/rui314/mold/releases/download/v2.36.0/mold-2.36.0-aarch64-linux.tar.gz|sudo tar --strip=1 -xzf - -C/usr/local/
149+
curl -Ls -o- https://github.com/rui314/mold/releases/download/v2.40.3/mold-2.40.3-aarch64-linux.tar.gz|sudo tar --strip=1 -xzf - -C/usr/local/
150+
hash -r
151+
export RUSTFLAGS="-Clink-arg=-Bmold"
152+
expr "$CC" : ".*gcc" >/dev/null && : "${CFLAGS:=-std=c11 -Bmold -Wno-implicit-function-declaration -Wno-error=implicit-function-declaration}"
153+
export CC
154+
export CFLAGS
155+
;;
156+
*arm*linux*musl*)
157+
sudo apt-get install -y gcc-arm-linux-gnueabihf
158+
curl -Ls -o- https://github.com/rui314/mold/releases/download/v2.40.3/mold-2.40.3-arm-linux.tar.gz|sudo tar --strip=1 -xzf - -C/usr/local/
141159
hash -r
142160
export RUSTFLAGS="-Clink-arg=-Bmold"
143161
expr "$CC" : ".*gcc" >/dev/null && : "${CFLAGS:=-std=c11 -Bmold -Wno-implicit-function-declaration -Wno-error=implicit-function-declaration}"
162+
export CC
144163
export CFLAGS
145164
;;
146165
*arm*linux*)
147-
sudo apt-get install gcc-arm-linux-gnueabihf -y
166+
sudo apt-get install -y gcc-arm-linux-gnueabihf
148167
#sed -i -e 's|^#rustc-wrapper|rustc-wrapper|' .cargo/config.toml
149168
#curl -LO https://github.com/mozilla/sccache/releases/download/v0.9.0/sccache-v0.9.0-x86_64-unknown-linux-musl.tar.gz
150169
#tar -xvf sccache-v0.9.0-x86_64-unknown-linux-musl.tar.gz --strip=1 -C ~/.cargo/bin/
151170
#ls -l ~/.cargo/bin/
152-
curl -Ls -o- https://github.com/rui314/mold/releases/download/v2.36.0/mold-2.36.0-arm-linux.tar.gz|sudo tar --strip=1 -xzf - -C/usr/local/
171+
curl -Ls -o- https://github.com/rui314/mold/releases/download/v2.40.3/mold-2.40.3-arm-linux.tar.gz|sudo tar --strip=1 -xzf - -C/usr/local/
172+
hash -r
173+
export RUSTFLAGS="-Clink-arg=-Bmold"
174+
expr "$CC" : ".*gcc" >/dev/null && : "${CFLAGS:=-std=c11 -Bmold -Wno-implicit-function-declaration -Wno-error=implicit-function-declaration}"
175+
export CC
176+
export CFLAGS
177+
;;
178+
*linux*musl*)
179+
sudo apt-get install -y libgoogle-perftools-dev pkg-config
180+
curl -Ls -o- https://github.com/rui314/mold/releases/download/v2.40.3/mold-2.40.3-x86_64-linux.tar.gz|sudo tar --strip=1 -xzf - -C/usr/local/
153181
hash -r
154182
export RUSTFLAGS="-Clink-arg=-Bmold"
155183
expr "$CC" : ".*gcc" >/dev/null && : "${CFLAGS:=-std=c11 -Bmold -Wno-implicit-function-declaration -Wno-error=implicit-function-declaration}"
184+
export CC
156185
export CFLAGS
186+
#export CXXFLAGS
157187
;;
158188
*linux*)
159189
#sed -i -e 's|^#rustc-wrapper|rustc-wrapper|' .cargo/config.toml
190+
sudo apt-get install -y libgoogle-perftools-dev pkg-config
160191
#curl -LO https://github.com/mozilla/sccache/releases/download/v0.9.0/sccache-v0.9.0-x86_64-unknown-linux-musl.tar.gz
161192
#tar -xvf sccache-v0.9.0-x86_64-unknown-linux-musl.tar.gz --strip=1 -C ~/.cargo/bin/
162193
#ls -l ~/.cargo/bin/
163-
curl -Ls -o- https://github.com/rui314/mold/releases/download/v2.36.0/mold-2.36.0-x86_64-linux.tar.gz|sudo tar --strip=1 -xzf - -C/usr/local/
194+
curl -Ls -o- https://github.com/rui314/mold/releases/download/v2.40.3/mold-2.40.3-x86_64-linux.tar.gz|sudo tar --strip=1 -xzf - -C/usr/local/
164195
hash -r
165196
export RUSTFLAGS="-Clink-arg=-Bmold"
166197
expr "$CC" : ".*gcc" >/dev/null && : "${CFLAGS:=-std=c11 -Bmold -Wno-implicit-function-declaration -Wno-error=implicit-function-declaration}"
198+
export CC
167199
export CFLAGS
200+
export CXXFLAGS
168201
;;
169202
esac
170203
shell: "sh"
204+
- name: "features Setting"
205+
id: "features"
206+
run: |
207+
case "${{ join(matrix.targets) }}" in
208+
*arm*linux*musl*)
209+
echo "cargo=cargo" >> $GITHUB_OUTPUT
210+
echo "features=" >> $GITHUB_OUTPUT
211+
;;
212+
*aarch64*linux*musl*)
213+
echo "cargo=cargo" >> $GITHUB_OUTPUT
214+
echo "features=" >> $GITHUB_OUTPUT
215+
;;
216+
*linux*musl*)
217+
echo "features=use-mimalloc-rs" >> $GITHUB_OUTPUT
218+
echo "cargo=cargo" >> $GITHUB_OUTPUT
219+
;;
220+
*aarch64*linux*)
221+
echo "features=use-mimalloc-rs" >> $GITHUB_OUTPUT
222+
echo "cargo=cargo" >> $GITHUB_OUTPUT
223+
;;
224+
*arm*linux*)
225+
echo "features=use-mimalloc-rs" >> $GITHUB_OUTPUT
226+
echo "cargo=cargo" >> $GITHUB_OUTPUT
227+
;;
228+
*linux*)
229+
echo "features=use-tcmalloc" >> $GITHUB_OUTPUT
230+
echo "cargo=cargo" >> $GITHUB_OUTPUT
231+
;;
232+
*windows*)
233+
echo "features=" >> $GITHUB_OUTPUT
234+
echo "cargo=cargo-xwin" >> $GITHUB_OUTPUT
235+
;;
236+
*)
237+
echo "features=use-mimalloc-rs" >> $GITHUB_OUTPUT
238+
echo "cargo=cargo" >> $GITHUB_OUTPUT
239+
;;
240+
esac
241+
## backup memo
242+
#${{ steps.features.outputs.cargo }} build --profile dist --target "${{ join(matrix.targets) }}" ${{ steps.features.outputs.features }}
243+
#dist manifest ${{ needs.plan.outputs.tag-flag }} --print=linkage --output-format=json ${{ matrix.dist_args }} --target "${{ join(matrix.targets) }}" > dist-manifest.json
244+
245+
shell: "bash"
171246
- name: "Install rust and rust-src"
172247
run: |
173248
# nightly -> rust 1.85.1 stable
174249
#sed -i -e 's|channel.*=.*|channel = "nightly"|' rust-toolchain.toml
175250
#sed -i -e 's|features =.*$|features = [ "use-mimalloc-rs", "unstable" ]|' dist-workspace.toml
176-
251+
rustup target add "${{ join(matrix.targets) }}"
252+
rustup component add rust-src
177253
#rust-toolchain.tomlに記載しているので、cargoコマンドで自動で追加インストールされるため不要
178254
#rustup update nightly
179255
#rustup component add rust-src --toolchain nightly
@@ -199,6 +275,7 @@ jobs:
199275
- name: Build artifacts
200276
run: |
201277
# Actually do builds and make zips and whatnot
278+
sed -i -e "s/features = .*/features = [\"${{ steps.features.outputs.features }}\"]/" dist-workspace.toml
202279
dist build ${{ needs.plan.outputs.tag-flag }} --print=linkage --output-format=json ${{ matrix.dist_args }} > dist-manifest.json
203280
echo "dist ran successfully"
204281
- id: cargo-dist

Cargo.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ members = [
88
resolver = "3"
99

1010
[workspace.package]
11-
version = "0.6.19"
11+
version = "0.6.20"
1212
authors = ["Masato TOYOSHIMA", "phoepsilonix <phoepsilonix@gmail.com>"]
1313
edition = "2024"
1414
rust-version = "1.90.0"
@@ -17,6 +17,9 @@ documentation = "https://github.com/phoepsilonix/dict-to-mozc"
1717
repository = "https://github.com/phoepsilonix/dict-to-mozc"
1818
license = "MIT"
1919

20+
#[package.metadata.dist]
21+
#build-command = ["sh", "./custom-build.sh"]
22+
2023
[workspace.dependencies]
2124
lib-dict-to-mozc = { path = "./crates/dict-to-mozc" }
2225
argh = { version = "0.1.14", default-features = false, features = [ "help" ] }

custom-build.sh

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
#!/usr/bin/env bash
2+
set -euo pipefail
3+
4+
TARGET="${CARGO_BUILD_TARGET:?CARGO_BUILD_TARGET is not set}"
5+
6+
case "$TARGET" in
7+
x86_64-unknown-linux-gnu|x86_64-unknown-linux-musl)
8+
FEATURES="use-tcmalloc"
9+
export CC="gcc"
10+
export RUSTFLAGS="-C link-arg=-fuse-ld=mold" # 例: mold で高速リンク
11+
;;
12+
aarch64-unknown-linux-gnu|aarch64-unknown-linux-musl)
13+
FEATURES="use-mimalloc-rs"
14+
export CC="aarch64-linux-gnu-gcc" # クロスなら適切な CC
15+
export RUSTFLAGS=""
16+
;;
17+
*-apple-darwin)
18+
FEATURES="use-mimalloc-rs" #
19+
export RUSTFLAGS=""
20+
;;
21+
*-windows-msvc)
22+
FEATURES=""
23+
export RUSTFLAGS=""
24+
;;
25+
*)
26+
echo "Unsupported target: $TARGET"
27+
exit 1
28+
;;
29+
esac
30+
31+
echo "Building for $TARGET with features: $FEATURES"
32+
33+
cargo build --profile dist --target "$TARGET" --features "$FEATURES" "$@"

dist-workspace.toml

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,32 @@
11
[workspace]
22
members = ["cargo:."]
33

4+
5+
# Config for 'dist'
6+
#[workspace.metadata.dist]
7+
#cargo-dist-version = "0.30.3"
8+
#ci = "github"
9+
#installers = ["shell"]
10+
#github-build-setup = "../setup.yml"
11+
#install-path = "CARGO_HOME"
12+
#install-updater = false
13+
#targets = ["aarch64-apple-darwin", "aarch64-unknown-linux-gnu", "aarch64-unknown-linux-musl", "aarch64-pc-windows-msvc", "armv7-unknown-linux-gnueabihf", "armv7-unknown-linux-musleabihf", "x86_64-apple-darwin", "x86_64-unknown-linux-gnu", "x86_64-unknown-linux-musl", "x86_64-pc-windows-msvc"]
14+
415
# Config for 'dist'
516
[dist]
6-
build-command = ["cargo", "build"]
7-
# Features to pass to cargo build
8-
features = ["use-mimalloc-rs"]
917
# The preferred dist version to use in CI (Cargo.toml SemVer syntax)
1018
cargo-dist-version = "0.30.3"
19+
features = []
1120
# CI backends to support
1221
ci = "github"
22+
allow-dirty = ["ci"]
23+
github-build-setup = "../setup.yml"
24+
install-path = "CARGO_HOME"
25+
install-updater = false
1326
# The installers to generate for each app
1427
installers = ["shell"]
15-
#publish-jobs = ["homebrew"]
16-
github-build-setup = "../setup.yml"
1728
# Target platforms to build apps for (Rust target-triple syntax)
1829
targets = ["aarch64-apple-darwin", "aarch64-unknown-linux-gnu", "aarch64-unknown-linux-musl", "aarch64-pc-windows-msvc", "armv7-unknown-linux-gnueabihf", "armv7-unknown-linux-musleabihf", "x86_64-apple-darwin", "x86_64-unknown-linux-gnu", "x86_64-unknown-linux-musl", "x86_64-pc-windows-msvc"]
19-
# Path that installers should place binaries in
20-
install-path = "CARGO_HOME"
21-
# Whether to install an updater program
22-
install-updater = false
2330

2431
[dist.github-custom-runners]
2532
x86_64-unknown-linux-gnu = "ubuntu-24.04"
@@ -52,11 +59,11 @@ x86_64-apple-darwin = "macos-14"
5259
runner = "ubuntu-24.04"
5360
#container = "messense/cargo-xwin:0.18.4"
5461
#container = "messense/cargo-xwin:0.17.1"
55-
container = "messense/cargo-xwin:sha-e237ed9"
62+
container = "messense/cargo-xwin:sha-ab6a270"
5663

5764
[dist.github-custom-runners.aarch64-pc-windows-msvc]
5865
runner = "ubuntu-24.04"
5966
#container = "messense/cargo-xwin:0.18.4"
6067
#container = "messense/cargo-xwin:0.17.1"
61-
container = "messense/cargo-xwin:sha-e237ed9"
68+
container = "messense/cargo-xwin:sha-ab6a270"
6269

0 commit comments

Comments
 (0)