問題タブ [kotlin-native]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
kotlin - Kotlin ネイティブ実行可能ファイルが同等の Rust 実行可能ファイルよりも大きいのはなぜですか?
簡単な「Hello World!」を 2 つ作成しました。1 つは Kotlin を使用し、もう 1 つは Rust を使用したプログラム:
コトリン:
さび:
kotlinc-native main.kt
Kotlin とcargo build --release
Rustの両方を使用して実行可能ファイルを生成し、
ls -S -lh | awk '{print $5, $9}'
.
Kotlin ネイティブで生成されたファイルは、Rust で生成されたファイルの 1.48 倍のサイズであることがわかりました。
この差異はなぜ存在するのでしょうか。
さらに、Rust を最適化して小さくすることもできます。Kotlin ネイティブに似ているものはありますか?
初期設定:
$ cargo new hello_world
ビルド:
$ cargo build
=>589,004 bytes
最適化ステップ 1:
ビルド:
$ cargo build --release
=>586,028 bytes
最適化ステップ 2:
の内容を次のように変更
main.rs
します。
=>335,232 bytes
最適化ステップ 3:
に以下を追加します
Cargo.toml
。
=>253,752 bytes
最適化ステップ 4:
実行可能ファイルを削除する
$ strip target/release/hello_world
=>177,608 bytes
そのため、kotlin ネイティブによって生成されたファイルは、Rust によって生成されたファイルの 4.87 倍 (~ 5 倍) になりました。
valgrind - valgrind がコアをダンプするときの Kotlin/Native、メモリ リーク ハンティング
Valgrind、Ubuntu 18.04lts の下で、K/N (kotlin/Native) cmdline アプリが mem をリークする場所と理由を見つけようとすると (コンパニオン オブジェクト toRegex() の、しかし、確かではありません...)。堅牢なツールが機能しなくなったときにどうすればよいか考えていますか?