Compare commits
8 Commits
release-20
...
release-20
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
40be58f2fc | ||
|
|
3f08b5b54a | ||
|
|
bfec99ae35 | ||
|
|
d9afd3aa81 | ||
|
|
e72113d91d | ||
|
|
7c4ff619c1 | ||
|
|
9c4217f450 | ||
|
|
cc09002171 |
@@ -29,16 +29,26 @@ jobs:
|
||||
# Run Tailwind manually first
|
||||
npx @tailwindcss/cli -i input.css -o public/tailwind.css
|
||||
trunk build --release
|
||||
|
||||
# Manuel WASM Optimizasyonu
|
||||
WASM_FILE=$(ls dist/*.wasm | head -n 1)
|
||||
BEFORE=$(du -h "$WASM_FILE" | cut -f1)
|
||||
echo "Before optimization: $BEFORE"
|
||||
|
||||
wasm-opt --all-features -Oz "$WASM_FILE" -o "$WASM_FILE"
|
||||
|
||||
AFTER=$(du -h "$WASM_FILE" | cut -f1)
|
||||
echo "After optimization: $AFTER"
|
||||
echo "Optimization complete!"
|
||||
|
||||
- name: Build Backend (MIPS)
|
||||
env:
|
||||
# Ensure we are building a fully static binary
|
||||
# -C link-self-contained=no: Let Zig (the linker) handle CRT objects (crt1.o, etc.)
|
||||
RUSTFLAGS: "-C target-feature=+crt-static -C link-self-contained=no -C link-arg=-msoft-float"
|
||||
# -s: Sembolleri siler, -w: DWARF debug bilgilerini siler (Binary boyutunu devasa düşürür)
|
||||
RUSTFLAGS: "-C target-feature=+crt-static -C link-self-contained=no -C link-arg=-msoft-float -C link-arg=-s -C link-arg=-w"
|
||||
CFLAGS_mips_unknown_linux_musl: "-msoft-float"
|
||||
run: |
|
||||
cd backend
|
||||
cargo zigbuild --target mips-unknown-linux-musl --release -Z build-std=std,panic_abort
|
||||
# Kök dizinden derleyerek workspace profil ayarlarının (LTO, z, strip) uygulanmasını sağlıyoruz
|
||||
cargo zigbuild -p backend --target mips-unknown-linux-musl --release -Z build-std=std,panic_abort
|
||||
file target/mips-unknown-linux-musl/release/backend
|
||||
|
||||
- name: Rename Binary
|
||||
|
||||
@@ -5,10 +5,11 @@ resolver = "2"
|
||||
# Optimize for size (aggressive)
|
||||
[profile.release]
|
||||
opt-level = "z"
|
||||
lto = true
|
||||
lto = "fat" # Full LTO (En iyisi)
|
||||
codegen-units = 1
|
||||
panic = "abort"
|
||||
strip = true
|
||||
strip = "symbols" # Sembolleri temizle
|
||||
incremental = false # Incremental build'i kapat (Boyut için daha iyi)
|
||||
|
||||
[patch.crates-io]
|
||||
coarsetime = { path = "third_party/coarsetime" }
|
||||
|
||||
@@ -516,9 +516,9 @@ async fn main() {
|
||||
.layer(TraceLayer::new_for_http())
|
||||
.layer(
|
||||
CompressionLayer::new()
|
||||
.br(true)
|
||||
.br(false)
|
||||
.gzip(true)
|
||||
.quality(CompressionLevel::Best),
|
||||
.quality(CompressionLevel::Fastest),
|
||||
)
|
||||
.layer(
|
||||
ServiceBuilder::new()
|
||||
|
||||
@@ -51,16 +51,4 @@ web-sys = { version = "0.3", features = [
|
||||
] }
|
||||
shared = { path = "../shared" }
|
||||
tailwind_fuse = "0.3.2"
|
||||
js-sys = "0.3.85"
|
||||
|
||||
[profile.release]
|
||||
# En yüksek seviyede boyut optimizasyonu
|
||||
opt-level = "z"
|
||||
# Tüm kütüphaneler arasında link-time optimizasyonu yapar (Çok etkilidir)
|
||||
lto = true
|
||||
# Kod üretim birimini 1'e düşürerek daha iyi optimizasyon sağlar
|
||||
codegen-units = 1
|
||||
# Hata durumunda stack unwinding yerine doğrudan durur (Kod boyutunu düşürür)
|
||||
panic = "abort"
|
||||
# Sembolleri ve debug bilgilerini siler
|
||||
strip = true
|
||||
js-sys = "0.3.85"
|
||||
Reference in New Issue
Block a user