質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
キャッシュ

キャッシュはドキュメントやデータを一時的に保管するもので、アクセス処理時間を短くするために使用されます。

ネットワーク

ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

解決済

プログラムを最高速で処理するとしたら

Ih8u
Ih8u

総合スコア16

キャッシュ

キャッシュはドキュメントやデータを一時的に保管するもので、アクセス処理時間を短くするために使用されます。

ネットワーク

ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

1回答

0評価

0クリップ

505閲覧

投稿2022/01/02 12:30

前提・実現したいこと

double a[N][N][N],b[N][N][N];
のように2つの3次元配列をデータ構造とするプログラムを、キャッシュメモリ12MB,メインメモリ16GBのコンピュータ上で実行することを考えています。そこで、最高速で処理するとき、Nはどのように求められるのか。
分かる方いましたらご指導お願いします。

試したこと

調べてわかったのは、
最高速で処理を実現するには全てのデータがキャッシュメモリ上に乗らなくてはいけないことです。

ここに問題に対して試したことを記載してください。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

otn

2022/01/02 12:33

> 全てのデータがキャッシュメモリ上に乗らなくてはいけないことです。 ということなら、あとは電卓計算の世界では?
Ih8u

2022/01/02 13:04

コメントありがとうございます。 具体的な計算手順はどうなるのでしょうか。 よろしくお願い申し上げます。
ppaul

2022/01/02 13:36

最高速で処理を実現するには全てのデータがキャッシュメモリ上に乗らなくてはいけないことです。 というのは正しくありません。 すべてのデータがレジスタに載っていればもっと速くなります。
Ih8u

2022/01/02 13:40

コメントありがとうございます。 そうなんですね、知識不足で申し訳ございません。 では、全てのデータがレジスタに載っていれば、Nはどのように求まるのでしょうか。具体的にご教授くださるとありがたいです。
otn

2022/01/02 15:14

> 具体的な計算手順はどうなるのでしょうか。 配列とは何なのかを知らないと言うことですね。諦めましょう。
maisumakun

2022/01/02 21:29

Nが0なら「何も計算せずに済む」ということになってしまいますが、その解釈は間違っていますでしょうか?
Zuishin

2022/01/02 23:07

a[N][N][N] の大きさは (double の大きさ × N)^3 になります。 b も同じ大きさなので、その 2 倍がメモリの使用量です。 最大の N を求めよということなら、それがキャッシュに収まる範囲の最大値を求めれば良いでしょう。 最大の N を求めよという問題ならね。 問題を自分の言葉で書き直す際に意味不明になっているので、まず国語の勉強を頑張るのが良いと思います。 きわめて具体的に書いてみました。 もう少し抽象化した方が良かったですか?
退会済みユーザー

退会済みユーザー

2022/01/02 23:52

処理の内容は?
nob.

2022/01/03 02:28

アプリからキャッシュに載るデータをコントロール出来るのかな? OSや他のアプリがどう動くかでアプリ(最高速で動かそうとしているプログラム)が使うキャッシュの量は変わってくるのじゃない? 全データの合計を求める、というように、データを1回しか使わないのなら、キャッシュってそんなに速度には影響しないように思えるし。(最高速、だから、ほんのちょっとでも、速くしたいってことかな?) 実行速度を速くする為にキャッシュの事をあれこれ考えるのは、あまり実質的でないような気がします。
退会済みユーザー

退会済みユーザー

2022/01/03 03:52

12MB全部そのデータで埋めた場合、キャッシュメモリが他のことに使えなくなるので処理は遅くなるかもしれませんね。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

キャッシュ

キャッシュはドキュメントやデータを一時的に保管するもので、アクセス処理時間を短くするために使用されます。

ネットワーク

ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。