SCons cacheは、異なるオペレーティングシステムとCPUアーキテクチャで安全ですか?SConsキャッシュは、さまざまなOSおよびCPUアーキテクチャでどのように動作しますか?
答えて
異なるオペレーティングシステム間では、異なるオペレーティングシステムで異なるCPUアーキテクチャ間で動作しますが、デフォルトではありません。前回私がSConsキャッシュ(SConsのv2.0.1)を使用したのは、さまざまなCPUアーキテクチャ間で安全ではありませんでした。それが私の現在の仕事でそれを使用を止めた理由でした。アーキテクチャをビルド環境に正しく挿入することで安全にすることはできますが、正しく機能させることは困難です。
あなたのネットワーク上のすべてのビルドマシンが全く同じハードウェア仕様を持っていない限り、私はSConsキャッシュの使用をお勧めしません。ビルド・モードの変更時にすべてを再構築する必要がなくなります。
これは驚くべきことです。私はメーリングリスト上の多くのマルチプラットフォームおよびマルチアーキテクチャのビルドユーザーから、これについて何の苦情も受けていないと思います。コンパイラを "gcc"として参照しているようで、プラットフォームに関係なくコマンドラインはまったく同じで、ソースと同じ相対位置にファイルを書き出しているようです。 – bdbaddog
私は "CPUアーキテクチャ"の意味で私が非常にはっきりしていなかったと思います。我々が遭遇した最大の問題は、同じネットワーク上でIntelとAMDのマシンを混ぜ合わせて、Sconsキャッシュにプッシュ/プッシュすることでした。結果として得られたビルドの浮動小数点の不明瞭さは、誰が最初に構築してスコーンキャッシュにプッシュしたかに依存していました。私は、32ビットと64ビットの混在アーキテクチャを持つビルドマシンのネットワークに起因する同様の問題を見ることができます。 32ビットマシン上のビルドのビルドシグネチャは、64ビットマシン上のビルドシグネチャと同じにすることができますが、結果として得られるオブジェクトは確実に互換性がありません。 –
これは、コンパイラが-march = nativeを実行し、オプティマイザがx86/x64の他の製造元で実行されている準最適なコードを吐き出しているためです。だからあなたがそのようなことを検出し、-m32 -m64と他のコマンドラインを置くなら、うまくいったはずです。基本的には、デフォルトをコマンドラインに入れます。または何もしない-DMY_32_BIT_INTEL_FLAGさえあります。十分なはずです。 – bdbaddog
- 1. ロードおよびパフォーマンステストツールはどのようにバックグラウンドで動作しますか?
- 2. Windows Azureはどのような(エミュレートされた)アーキテクチャで動作しますか?
- 3. Gmap.netキャッシュはどのように動作しますか?
- 4. さまざまな派生クラスのDjangoおよびREST APIシリアライザ
- 5. C++:さまざまな静的および動的ポインタタイプを削除する
- 6. Keras、anaconda envs、およびさまざまなバックエンド
- 7. PythonのさまざまなOS /バージョンのPython C/C++拡張をどのようにコンパイルしますか?
- 8. Igniteでのスキーマの変更、および新しいキャッシュの追加はどのようにサポートしますか?
- 9. 同じキャッシュラインサイズのマルチレベルCPUキャッシュはどのように機能しますか?
- 10. サーバーとさまざまなクライアントはどのように機能しますか?
- 11. アセンブリでjmpsはどのように動作しますか? (OS開発)
- 12. さまざまなAndroidデバイス/ OSバージョンでFABが異なるように見えるのはなぜですか?
- 13. IntercomはAngularJSおよびIonicアプリケーションで動作しますか?
- 14. IFおよび/または式> cantが動作するようになる
- 15. Meteorはどのように動作しますか?クライアントとサーバーはどのように動作しますか?
- 16. さまざまなテキストカラーをどのように表示しますか?
- 17. さまざまなマイクロサービスをDockerとどのように接続しますか?
- 18. さまざまなニュースソースをどのようにデータマイニングしますか?
- 19. Tensorflow C++でグラフをエクスポートおよび実行するさまざまな方法
- 20. さまざまなアルゴリズムをどのように分類できますか?
- 21. リンク、コントローラー、およびコンパイル機能に含まれるさまざまな注射剤は何ですか?
- 22. Petersonのソリューションは、最新のCPUアーキテクチャで正しく動作しますか?
- 23. packages.json、package-lock.json、およびnode_modulesを削除した後、.lodashはどのように動作しますか?
- 24. コンパイラはどのようにして異なるOSやアーキテクチャにクロスコンパイルできますか?
- 25. さまざまなテストメソッド 'params、aliases、およびmethods'を異なる時間に定義できますか?
- 26. さまざまなCPU上のアライメントされていないMOVSDはどうなりますか?
- 27. CPU-Z/HWMonitorモニタなどのプログラムはどのようにして動作しますか?
- 28. Sparkジョブのさまざまな段階でCPU /コア/エグゼキュータを最適化するにはどうすればよいですか?絵下記のよう
- 29. レガシーコード(およびデータ)をどのように扱いますか?
- 30. Oracle Coherenceキャッシュおよびアプリケーション・サーバーのCPU使用率
はい。キャッシュ識別子は、プラットフォーム/アーキテクチャごとにキャッシュ参照を一意にするのに十分な情報に基づいていなければなりません。それ以外の場合はバグです。あなたはこれに何か問題を見たことがありますか? (あなたはおそらく "安全"で、 "保存しない"という意味です) – bdbaddog