問題タブ [d]
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.
c++ - テンプレートのインスタンス化の肥大化が実際に問題になるのはいつですか?
静的にコンパイルされ、テンプレートのメタプログラミングが一般的な手法である C++ および D 言語では、テンプレートのインスタンス化の肥大化についてかなりの懸念があるようです。非常にリソースに制約のある組み込みシステムを除いて、それは主に理論的な問題のように思えます。埋め込まれた空間の外では、それが実際に問題であったことを誰かが証明できたという例をまだ聞いたことがありません.
テンプレートのインスタンス化の肥大化が実際に重要であり、測定可能で実質的に重大な悪影響があった例を、リソースが大幅に制限された組み込みシステム以外で提供できる人はいますか?
performance - D での低レベル ライブラリの実装に関するアドバイス (C/C++ ではなく)
プロジェクト用の D プログラミング言語の選択についてアドバイスが必要です。このプロジェクトは、多くの連想コンテナなどを含むデータベースに似た低レベルのライブラリです。したがって、効率は私にとって非常に重要です。
C++ や Python などの他の言語との互換性のために、ライブラリに C API を提供する必要があります。また、パフォーマンスを調整するために一部のセクションをプレーン C で記述する必要があることも予想されます。
D はこの仕事に非常に魅力的です。これらの要件を考慮する際に注意すべき落とし穴はありますか? D コンテナーのパフォーマンスは std::(map、vector、unordered_map など) と比較して、手動のパフォーマンス チューニングを考慮してどのようになりますか (たとえば、検索/挿入に std::map::lower_bound を使用するなど) )。
d - Dプログラミング言語用のゲーム/グラフィックエンジンはありますか?
Dプログラミング言語用のゲーム/グラフィックエンジンはありますか?
iphone - DプログラミングとiPhone
I've just started learning "D Programming". I'd like to deploy my programs on an iPhone. which has me wondering; is is possible to develop for a Mac or iPhone using D?. I'd like the application to be completely written D or at least minimal objective-c. Am I starting a hopeless battle by choosing D over the other mainstream languages (c/c++/java/objective-c/c#)?
memory-management - スピンロックはメモリアロケータに適していますか?
D プログラミング言語ランタイムの保守担当者に、メモリ アロケータ/ガベージ コレクタが通常の OS クリティカル セクションの代わりにスピンロックを使用するように何度か提案しました。これはあまり普及していません。スピンロックの方が優れていると私が考える理由は次のとおりです。
- 少なくとも私が行った合成ベンチマークでは、メモリ アロケータ/GC ロックの競合がある場合、OS クリティカル セクションよりも数倍高速です。編集:経験的に、スピンロックを使用しても、シングルコア環境では測定可能なオーバーヘッドさえありませんでした。おそらく、メモリアロケーターでロックを短時間保持する必要があるためです。
- メモリの割り当てや同様の操作には、通常、タイムスライスのごく一部、さらにはコンテキスト スイッチにかかる時間のごく一部しかかからないため、競合が発生した場合にコンテキストを切り替えるのはばかげています。
- 問題の実装でのガベージ コレクションは、とにかく世界を停止します。コレクション中に回転することはありません。
メモリ アロケータ/ガベージ コレクタの実装でスピンロックを使用しない正当な理由はありますか?
d - D 言語に関する最高のリソースはどこで入手できますか?
D 言語に関する最高のリソースはどこで入手できますか?
api - Valgrind内部の詳細なドキュメント
ValgrindのクライアントリクエストAPIへのDインターフェースを作成することを考えています。ヘッダーファイルをいじくり回してコンパイルを解除することで、最終的にはそれが何をしているのかを理解することができましたが、それらがどのように機能するかについての信頼できるドキュメントであるかどうか疑問に思います。(ところで、私はすでにこのドキュメントを見つけましたが、十分な情報がありません)
私が探しているのは、次のような質問に答えるでしょう。32ビットのマシンワードを返し、64ビットのfloatをとる関数をラップ/呼び出すためのマクロを生成するにはどうすればよいですか?
multithreading - スレッドローカル、クラスインスタンスローカルストレージ?
スレッドとクラス インスタンスの両方にローカルな変数を実装する、プラットフォームにとらわれない優れた方法はありますか。つまり、T スレッドと I クラス インスタンスがある場合、その変数の TxI インスタンスがありますか? 私は D プログラミング言語バージョン 2 を使用していますが、言語にとらわれない優れた回答も役に立ちます。
以下にいくつかの制約を示します。
- 同期を要求してはなりません。これにより、スレッド ID をメンバー変数としての変数参照にマッピングするハッシュ テーブルを持つことが除外されます。
- ガベージ コレクションが必要な参照を保持してはなりません。これにより、クラス インスタンスによってインデックス付けされたスレッド ローカルの静的ハッシュ テーブルが除外されます。
- 初期化は、効率のために遅延する必要があります。スレッドが特定のインスタンスの変数にアクセスしない場合は、その変数を作成しないでください。