問題タブ [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.

0 投票する
6 に答える
10443 参照

performance - What's the most efficient way to compare two blocks of memory in the D language?

I need a comparison function for blocks of memory for doing binary searches on arrays of bytes in the D programming language. It does not need to have any useful semantics. It only needs to be fast and be a valid comparison function (one that produces a total ordering). The blocks of memory to be compared are already known to be the same length.

C's memcmp is actually pretty slow because it tries to preserve useful string comparison semantics, which I don't need. Below is the best I've come up with so far. Does anyone know of anything better, preferably w/o dipping into non-portable CPU-specific instructions?

Edit: I've read up on SSE and I don't want to use it for 3 reasons:

  1. It's not portable.
  2. It requires programming in ASM.
  3. The comparison instructions assume your data is floating points, which might be problematic if some data happens to match the pattern for a NaN.
0 投票する
3 に答える
1682 参照

static - 静的ifを持つD以外の言語はありますか?

static ifDは興味深い言語機能だと思います。それは私の質問を促します.コンパイラがコードの強い概念を持ち、それらにアクセスするための言語機能があるコンパイル済み言語の他の例はありますか?

たとえば、次のコードはreprPythonと同様のものを提供します。

これは、このような機能と比較して、コードをより動的にするための裏返しの方法である、オーバーロードが行うことに対する別のより一般的なアプローチを可能にするため、これはクールだと思います。たとえば、コンパイラはクラスに含まれるフィールドの数を認識していますが、ほとんどの言語では、コードがコンパイル時にその情報にアクセスする方法がありません。

警告: 最後の段落には意見が含まれていましたが、論争を誘発するのではなく、私の質問の動機と説明を提供するつもりです。他のコンパイル済み言語にそのような機能があるかどうかを知りたいだけです。

0 投票する
5 に答える
1031 参照

c++ - テンプレートのインスタンス化の肥大化が実際に問題になるのはいつですか?

静的にコンパイルされ、テンプレートのメタプログラミングが一般的な手法である C++ および D 言語では、テンプレートのインスタンス化の肥大化についてかなりの懸念があるようです。非常にリソースに制約のある組み込みシステムを除いて、それは主に理論的な問題のように思えます。埋め込まれた空間の外では、それが実際に問題であったことを誰かが証明できたという例をまだ聞いたことがありません.

テンプレートのインスタンス化の肥大化が実際に重要であり、測定可能で実質的に重大な悪影響があった例を、リソースが大幅に制限された組み込みシステム以外で提供できる人はいますか?

0 投票する
2 に答える
285 参照

performance - D での低レベル ライブラリの実装に関するアドバイス (C/C++ ではなく)

プロジェクト用の D プログラミング言語の選択についてアドバイスが必要です。このプロジェクトは、多くの連想コンテナなどを含むデータベースに似た低レベルのライブラリです。したがって、効率は私にとって非常に重要です。

C++ や Python などの他の言語との互換性のために、ライブラリに C API を提供する必要があります。また、パフォーマンスを調整するために一部のセクションをプレーン C で記述する必要があることも予想されます。

D はこの仕事に非常に魅力的です。これらの要件を考慮する際に注意すべき落とし穴はありますか? D コンテナーのパフォーマンスは std::(map、vector、unordered_map など) と比較して、手動のパフォーマンス チューニングを考慮してどのようになりますか (たとえば、検索/挿入に std::map::lower_bound を使用するなど) )。

0 投票する
14 に答える
7745 参照

c++ - コードベースを移行する場合、どの次世代低レベル言語が最善の策ですか?

多くの C/C++ を実行している会社があり、15 年前の COBOL 会社のようになってしまうのを避けるために、新しいテクノロジへの移行計画を開始したいとします。

今のところ、C/C++ は問題なく動作し、市場にはそのための開発者がたくさんいます。

しかし、実行中の巨大なコード ベースとデータの機密性を考慮すると、予算と開発チームを過負荷にせずに次のステップに移行するには 5 ~ 10 年かかる可能性があるため、今すぐ検討を開始する必要があります。

Dはかなり成熟し始めており、Goは非常に人気があると約束されています。

あなたは何を選びますか?その理由は何ですか?

0 投票する
3 に答える
3589 参照

d - Dプログラミング言語用のゲーム/グラフィックエンジンはありますか?

Dプログラミング言語用のゲーム/グラフィックエンジンはありますか?

0 投票する
3 に答える
1912 参照

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#)?

0 投票する
6 に答える
1382 参照

memory-management - スピンロックはメモリアロケータに適していますか?

D プログラミング言語ランタイムの保守担当者に、メモリ アロケータ/ガベージ コレクタが通常の OS クリティカル セクションの代わりにスピンロックを使用するように何度か提案しました。これはあまり普及していません。スピンロックの方が優れていると私が考える理由は次のとおりです。

  1. 少なくとも私が行った合成ベンチマークでは、メモリ アロケータ/GC ロックの競合がある場合、OS クリティカル セクションよりも数倍高速です。編集:経験的に、スピンロックを使用しても、シングルコア環境では測定可能なオーバーヘッドさえありませんでした。おそらく、メモリアロケーターでロックを短時間保持する必要があるためです。
  2. メモリの割り当てや同様の操作には、通常、タイムスライスのごく一部、さらにはコンテキスト スイッチにかかる時間のごく一部しかかからないため、競合が発生した場合にコンテキストを切り替えるのはばかげています。
  3. 問題の実装でのガベージ コレクションは、とにかく世界を停止します。コレクション中に回転することはありません。

メモリ アロケータ/ガベージ コレクタの実装でスピンロックを使用しない正当な理由はありますか?

0 投票する
7 に答える
1130 参照

d - D 言語に関する最高のリソースはどこで入手できますか?

D 言語に関する最高のリソースはどこで入手できますか?

0 投票する
1 に答える
476 参照

api - Valgrind内部の詳細なドキュメント

ValgrindのクライアントリクエストAPIへのDインターフェースを作成することを考えています。ヘッダーファイルをいじくり回してコンパイルを解除することで、最終的にはそれが何をしているのかを理解することができましたが、それらがどのように機能するかについての信頼できるドキュメントであるかどうか疑問に思います。(ところで、私はすでにこのドキュメントを見つけましたが、十分な情報がありません)

私が探しているのは、次のような質問に答えるでしょう。32ビットのマシンワードを返し、64ビットのfloatをとる関数をラップ/呼び出すためのマクロを生成するにはどうすればよいですか?