問題タブ [escape-analysis]
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.
go - Go - 共有データを含む異なるスライス ヘッダーでのエスケープ解析の失敗
[]int32 を []byte に頻繁に変換するプロジェクトに取り組んでいます。コピーを最小限に抑えるためにインプレース変換を実行する関数 intsToBytes を作成しました。Go のエスケープ解析はそれを認識せず、同じ基になるデータints
を参照していることに気付きました。bytes
その結果、ints
次の関数のスタック データによって上書きされ、上書きされたデータbytes
を参照して存続します。
私が考えることができる唯一の解決策は、データを新しいバイト スライスにコピーすることです。データのコピーを避ける方法はありますか?