diff --git a/Cargo.lock b/Cargo.lock index aa13d97..9a6105a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -60,10 +60,14 @@ dependencies = [ ] [[package]] -name = "base64" -version = "0.21.7" +name = "base64-simd" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" +checksum = "339abbe78e73178762e23bea9dfd08e697eb3f3301cd4be981c0f78ba5859195" +dependencies = [ + "outref", + "vsimd", +] [[package]] name = "bit-set" @@ -199,6 +203,12 @@ version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +[[package]] +name = "outref" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4030760ffd992bef45b0ae3f10ce1aba99e33464c90d14dd7c039884963ddc7a" + [[package]] name = "path-absolutize" version = "3.1.1" @@ -254,18 +264,18 @@ checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" [[package]] name = "serde" -version = "1.0.195" +version = "1.0.197" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02" +checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.195" +version = "1.0.197" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c" +checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" dependencies = [ "proc-macro2", "quote", @@ -291,7 +301,7 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" name = "swift-precompiler" version = "0.1.3" dependencies = [ - "base64", + "base64-simd", "clap", "colored", "fancy-regex", @@ -314,9 +324,9 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.8" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35" +checksum = "9a9aad4a3066010876e8dcf5a8a06e70a558751117a145c6ce2b82c2e2054290" dependencies = [ "serde", "serde_spanned", @@ -335,9 +345,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.21.0" +version = "0.22.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03" +checksum = "2c1b5fd4128cc8d3e0cb74d4ed9a9cc7c7284becd4df68f5f940e1ad123606f6" dependencies = [ "indexmap", "serde", @@ -358,6 +368,12 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" +[[package]] +name = "vsimd" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64" + [[package]] name = "windows-sys" version = "0.48.0" @@ -492,9 +508,9 @@ checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" [[package]] name = "winnow" -version = "0.5.34" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7cf47b659b318dccbd69cc4797a39ae128f533dce7902a1096044d1967b9c16" +checksum = "dffa400e67ed5a4dd237983829e66475f0a4a26938c4b04c21baede6262215b8" dependencies = [ "memchr", ] diff --git a/Cargo.toml b/Cargo.toml index 05b127b..86f1c22 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,17 +11,19 @@ repository = "https://github.com/ciderapp/swift-precompiler" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -base64 = "0.21.7" clap = { version = "4.4.14", features = ["derive"] } colored = "2.1.0" fancy-regex = "0.13.0" glob = "0.3.1" path-absolutize = "3.1.1" -toml = "0.8.8" -serde = { version = "1.0.195", features = ["derive"] } +toml = "0.8.10" +serde = { version = "1.0.197", features = ["derive"] } +base64-simd = "0.8.0" [[bin]] name = "swift-precompiler" [profile.release] -lto = true \ No newline at end of file +opt-level = 3 +lto = "fat" +codegen-units = 1 diff --git a/src/main.rs b/src/main.rs index f3d58a1..d216140 100644 --- a/src/main.rs +++ b/src/main.rs @@ -6,8 +6,6 @@ use std::path::{Path, PathBuf}; use std::process::exit; use std::time::Instant; -use base64::Engine; -use base64::prelude::BASE64_STANDARD; use clap::{Parser, Subcommand, ValueHint}; use colored::Colorize; use fancy_regex::Regex; @@ -222,7 +220,7 @@ fn main() { precompile_file_data = precompile_file_data.replace(&*format!("// <{}>", placeholder), &*format!("\ // <{}> case \"{}\": - content = \"{}\"\n", placeholder, include_str_og_path.as_str(), BASE64_STANDARD.encode(content_of_file.to_owned()))); + content = \"{}\"\n", placeholder, include_str_og_path.as_str(), base64_simd::STANDARD.encode_to_string(content_of_file.to_owned()))); }); }