問題タブ [moores-law]

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 投票する
12 に答える
1557 参照

moores-law - ムーアの法則の問題

完了するまでに 10 年かかる世界最速のスーパーコンピューターでプログラムを実行する必要があるとします。あなたは出来る:

  • 今すぐ 2 億 5000 万ドルを使う
  • 9 年間のプログラム、ムーアの法則の高速化 (4,000 倍高速化)、10 年間で 100 万ドルを費やし、2 週間で完了する。

最適な戦略は何ですか?

「長期保管のトレンドとあなた」からの質問

0 投票する
26 に答える
1078 参照

optimization - コードの最適化は不要になりますか?

ムーアの法則が当てはまり、CPU/GPU がますます高速になった場合、ソフトウェア (およびそれに関連してソフトウェア開発者) は、コードを最適化する必要があるほど境界を押し広げますか? それとも、あなたのコード (など) には単純な階乗解で十分でしょうか?

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

strong-typing - (強いvs弱い)型付きAND(静的vs動的)型付き言語とムーアの法則

この問題に直面している人の数はわかりません。python、php、javascriptのような弱い/動的に型付けされた言語で数日間プログラミングを行うと、c ++、Java、.netのような強く型付けされた言語との接触が失われます。私は最近、人々がプログラミングを愛するpythonやrubyのような言語を聞きました。

弱く/動的に型付けされた言語でのプログラミングは非常に簡単ですが、c ++、Javaなどの言語との接触を失う危険性があります。プロセッサは現在非常に強力になっており、ムーアの法則によれば、時間とともに指数関数的に速度が向上します。したがって、組み込み言語からc ++、javaなどの高級言語に移行したときに同様のことが起こったため、効率は問題にならない可能性があります。

  • では、世界は弱く/動的に型付けされた言語にシフトしているのでしょうか?
  • 弱い/動的に型付けされた言語は、将来、強く型付けされた言語に取って代わりますか?
  • 強く型付けされた言語が必須であり、現在および近い将来に置き換えることができないフィールドはありますか?
0 投票する
2 に答える
208 参照

algorithm - ムーアの法則をテストするために測定可能な値を返すプラットフォームに依存しないアルゴリズムとは何ですか?

好奇心のせいで...

同等の値を生成するプラットフォームに依存しないアルゴリズムはありますか。私ができるように

隔年で市場に導入されたさまざまなマシンにアルゴリズムを実装する

アルゴリズムの戻り値をチェックして、ムーアの法則にどのように適合するかを確認します

それらのマシンで?

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

multithreading - スパークのオーバーヘッドはどれくらいですか?

「Parallel and Concurrent Programming」のこのグラフ: http://chimera.labs.oreilly.com/books/1230000000929/ch03.html#fig_kmeans-granularity最初は、スパークが多すぎるために深刻なオーバーヘッドがあることを示しているようです。しかし、y 軸を注意深く見ると、興味深いセクションが拡大されていることがわかります。実際、示されている最良のケースと最悪のケースのパフォーマンスの比率は約 80% であり、それほど悪くはありません。

一般に、どのように、どのくらいチャンクするかを理解することは難しく、エラーが発生しやすく、非常にアプリケーション固有であり、来年、より処理能力の高い新しいコンピューターを購入すると変更される可能性があります。私は常に rpar を可能な限り細粒度のアイテムで使用し、25% のオーバーヘッドで生活することを望んでいます。

一般に、スパーキングのオーバーヘッドは、このグラフに示されているよりもはるかに悪いコストになる可能性がありますか? (特に、リストではなく二分木を常に折りたたんでいる場合は、「順次作業の量」に関する 2 番目の箇条書きは適用されません)


Don Stewart の回答に応じて質問を更新しました。

スパーク プールは、すべてのプロセッサがアクセスするのに苦労する 1 つのキューだけで構成されていますか? それともたくさんありますか?

たとえば、無限のプロセッサとバイナリ ツリーを備えたコンピューターがあり、次のようにすべての葉の合計を取得したい場合:

このプログラムは O(#leaves) 時間で実行されますか? またはO(深さ)時間?これを書く良い方法はありますか?

抽象化しすぎて満足のいく答えが得られない場合はお知らせください。Haskell の並列処理がどのように機能するかについての私のメンタル モデルは、まだ非常にあいまいです。