Compare commits

..

8 Commits

Author SHA1 Message Date
spinline
40be58f2fc perf: backend derleme süreci kök dizine taşınarak workspace optimizasyonları aktif edildi
All checks were successful
Build MIPS Binary / build (push) Successful in 4m30s
2026-02-08 18:10:09 +03:00
spinline
3f08b5b54a perf: WASM boyut takibi loglara eklendi ve profil çakışmaları giderildi
All checks were successful
Build MIPS Binary / build (push) Successful in 4m27s
2026-02-08 18:03:52 +03:00
spinline
bfec99ae35 fix: wasm-opt için --all-features bayrağı kullanılarak flag uyuşmazlığı giderildi
All checks were successful
Build MIPS Binary / build (push) Successful in 4m28s
2026-02-08 17:58:14 +03:00
spinline
d9afd3aa81 fix: wasm-opt için nontrapping-float-to-int-conversions özelliği eklendi
Some checks failed
Build MIPS Binary / build (push) Failing after 1m2s
2026-02-08 17:56:28 +03:00
spinline
e72113d91d perf: manuel WASM optimizasyonu eklendi ve build süreci stabilize edildi
Some checks failed
Build MIPS Binary / build (push) Failing after 1m2s
2026-02-08 17:54:43 +03:00
spinline
7c4ff619c1 fix: .cargo/config.toml yazım hatası düzeltildi
Some checks failed
Build MIPS Binary / build (push) Failing after 1m2s
2026-02-08 17:52:15 +03:00
spinline
9c4217f450 feat: WASM için bulk-memory özelliği aktif edildi
Some checks failed
Build MIPS Binary / build (push) Failing after 3s
2026-02-08 17:51:04 +03:00
spinline
cc09002171 trigger: yeniden build başlatıldı
Some checks failed
Build MIPS Binary / build (push) Failing after 1m3s
2026-02-08 17:49:06 +03:00
4 changed files with 21 additions and 22 deletions

View File

@@ -30,15 +30,25 @@ jobs:
npx @tailwindcss/cli -i input.css -o public/tailwind.css npx @tailwindcss/cli -i input.css -o public/tailwind.css
trunk build --release 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) - name: Build Backend (MIPS)
env: env:
# Ensure we are building a fully static binary # -s: Sembolleri siler, -w: DWARF debug bilgilerini siler (Binary boyutunu devasa düşürür)
# -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 -C link-arg=-s -C link-arg=-w"
RUSTFLAGS: "-C target-feature=+crt-static -C link-self-contained=no -C link-arg=-msoft-float"
CFLAGS_mips_unknown_linux_musl: "-msoft-float" CFLAGS_mips_unknown_linux_musl: "-msoft-float"
run: | run: |
cd backend # Kök dizinden derleyerek workspace profil ayarlarının (LTO, z, strip) uygulanmasını sağlıyoruz
cargo zigbuild --target mips-unknown-linux-musl --release -Z build-std=std,panic_abort cargo zigbuild -p backend --target mips-unknown-linux-musl --release -Z build-std=std,panic_abort
file target/mips-unknown-linux-musl/release/backend file target/mips-unknown-linux-musl/release/backend
- name: Rename Binary - name: Rename Binary

View File

@@ -5,10 +5,11 @@ resolver = "2"
# Optimize for size (aggressive) # Optimize for size (aggressive)
[profile.release] [profile.release]
opt-level = "z" opt-level = "z"
lto = true lto = "fat" # Full LTO (En iyisi)
codegen-units = 1 codegen-units = 1
panic = "abort" panic = "abort"
strip = true strip = "symbols" # Sembolleri temizle
incremental = false # Incremental build'i kapat (Boyut için daha iyi)
[patch.crates-io] [patch.crates-io]
coarsetime = { path = "third_party/coarsetime" } coarsetime = { path = "third_party/coarsetime" }

View File

@@ -516,9 +516,9 @@ async fn main() {
.layer(TraceLayer::new_for_http()) .layer(TraceLayer::new_for_http())
.layer( .layer(
CompressionLayer::new() CompressionLayer::new()
.br(true) .br(false)
.gzip(true) .gzip(true)
.quality(CompressionLevel::Best), .quality(CompressionLevel::Fastest),
) )
.layer( .layer(
ServiceBuilder::new() ServiceBuilder::new()

View File

@@ -52,15 +52,3 @@ web-sys = { version = "0.3", features = [
shared = { path = "../shared" } shared = { path = "../shared" }
tailwind_fuse = "0.3.2" tailwind_fuse = "0.3.2"
js-sys = "0.3.85" 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