[READ-ONLY] Mirror of https://github.com/probablykasper/ferrum. Music library app for Mac, Linux and Windows ferrum.kasper.space
electron linux macos music music-library music-player napi windows
0

Configure Feed

Select the types of activity you want to include in your feed.

Use mimalloc

Kasper (Sep 17, 2025, 7:33 AM +0200) a8b79ee7 a2293a13

+27 -1
+1 -1
CHANGELOG.md
··· 5 5 - Add genre autocomplete 6 6 - Make macOS media key permission request non-intrusive 7 7 - Improve error and crashing behaviour 8 - - 55% faster library loading at startup 8 + - 2x faster library loading at startup 9 9 10 10 ## 0.19.9 - 2025 Jul 4 11 11 - Fix column size not updating when resizing window
+20
Cargo.lock
··· 343 343 "lazy_static", 344 344 "linked-hash-map", 345 345 "lofty", 346 + "mimalloc", 346 347 "nanoid", 347 348 "napi", 348 349 "napi-build", ··· 656 657 ] 657 658 658 659 [[package]] 660 + name = "libmimalloc-sys" 661 + version = "0.1.44" 662 + source = "registry+https://github.com/rust-lang/crates.io-index" 663 + checksum = "667f4fec20f29dfc6bc7357c582d91796c169ad7e2fce709468aefeb2c099870" 664 + dependencies = [ 665 + "cc", 666 + "libc", 667 + ] 668 + 669 + [[package]] 659 670 name = "libredox" 660 671 version = "0.1.10" 661 672 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 735 746 version = "2.7.5" 736 747 source = "registry+https://github.com/rust-lang/crates.io-index" 737 748 checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" 749 + 750 + [[package]] 751 + name = "mimalloc" 752 + version = "0.1.48" 753 + source = "registry+https://github.com/rust-lang/crates.io-index" 754 + checksum = "e1ee66a4b64c74f4ef288bcbb9192ad9c3feaad75193129ac8509af543894fd8" 755 + dependencies = [ 756 + "libmimalloc-sys", 757 + ] 738 758 739 759 [[package]] 740 760 name = "miniz_oxide"
+1
Cargo.toml
··· 46 46 dirs-next = "2.0.0" 47 47 chrono = "0.4.42" 48 48 simd-json = "0.16.0" 49 + mimalloc = "0.1.48"
+5
src-native/lib.rs
··· 1 1 use anyhow::{Context, Result}; 2 + use mimalloc::MiMalloc; 2 3 use serde::de::DeserializeOwned; 3 4 use std::fs::File; 4 5 use std::io::BufReader; 5 6 use std::time::{SystemTime, UNIX_EPOCH}; 7 + 8 + // Alloactor recommended by simd_json 9 + #[global_allocator] 10 + static GLOBAL: MiMalloc = MiMalloc; 6 11 7 12 #[macro_use] 8 13 extern crate napi_derive;