東方算程譚

Oriental Code Talk ── επιστημηが与太をこく、弾幕とは無縁のシロモノ。

目次

Blog 利用状況

ニュース

著作とお薦めの品々は

著作とお薦めの品々は
東方熱帯林へ。

あわせて読みたい

わんくま

  1. 東京勉強会#2
    C++/CLI カクテル・レシピ
  2. 東京勉強会#3
    template vs. generics
  3. 大阪勉強会#6
    C++むかしばなし
  4. 東京勉強会#7
    C++むかしばなし
  5. 東京勉強会#8
    STL/CLRによるGeneric Programming
  6. TechEd 2007 @YOKOHAMA
    C++・C++/CLI・C# 適材適所
  7. 東京勉強会#14
    Making of BOF
  8. 東京勉強会#15
    状態遷移
  9. 名古屋勉強会#2
    WinUnit - お気楽お手軽UnitTest

CodeZine

  1. Cで実現する「ぷちオブジェクト指向」
  2. CUnitによるテスト駆動開発
  3. SQLiteで組み込みDB体験(2007年版)
  4. C++/CLIによるCライブラリの.NET化
  5. C# 1.1からC# 3.0まで~言語仕様の進化
  6. BoostでC++0xのライブラリ「TR1」を先取りしよう (1)
  7. BoostでC++0xのライブラリ「TR1」を先取りしよう (2)
  8. BoostでC++0xのライブラリ「TR1」を先取りしよう (3)
  9. BoostでC++0xのライブラリ「TR1」を先取りしよう (4)
  10. BoostでC++0xのライブラリ「TR1」を先取りしよう (5)
  11. C/C++に対応した、もうひとつのUnitTestFramework ─ WinUnit
  12. SQLiteで"おこづかいちょう"
  13. STL/CLRツアーガイド
  14. マージ・ソート : 巨大データのソート法
  15. ヒープソートのアルゴリズム
  16. C++0xの新機能「ラムダ式」を次期Visual Studioでいち早く試す
  17. .NETでマンデルブロ集合を描く
  18. .NETでマンデルブロ集合を描く(後日談)
  19. C++/CLI : とある文字列の相互変換(コンバージョン)
  20. インテルTBBによる選択ソートの高速化
  21. インテルTBB3.0 によるパイプライン処理
  22. Visual C++ 2010に追加されたSTLアルゴリズム
  23. Visual C++ 2010に追加されたSTLコンテナ「forward_list」
  24. shared_ptrによるObserverパターンの実装
  25. .NETでマンデルブロ集合を描く(番外編) ── OpenCLで超並列コンピューティング
  26. StateパターンでCSVを読む
  27. 状態遷移表からStateパターンを自動生成する
  28. 「ソートも、サーチも、あるんだよ」~標準C++ライブラリにみるアルゴリズムの面白さ
  29. インテルTBBの同期メカニズム
  30. なぜsetを使っちゃいけないの?
  31. WPFアプリケーションで腕試し ~C++でもWPFアプリを
  32. C++11 : スレッド・ライブラリひとめぐり
  33. Google製のC++ Unit Test Framework「Google Test」を使ってみる
  34. メールでデータベースを更新するココロミ
  35. Visitorパターンで遊んでみたよ
  36. Collection 2題:「WPFにバインドできる辞書」と「重複を許す検索set」
  37. Visual C++ 2012:stateless-lambdaとSQLiteのぷち拡張
  38. 「Visual C++ Compiler November 2012 CTP」で追加された6つの新機能

@IT

  1. Vista時代のVisual C++の流儀(前編)Vista到来。既存C/C++資産の.NET化を始めよう!
  2. Vista時代のVisual C++の流儀(中編)MFCから.NETへの実践的移行計画
  3. Vista時代のVisual C++の流儀(後編) STL/CLRによるDocument/Viewアーキテクチャ
  4. C++開発者のための単体テスト入門 第1回 C++開発者の皆さん。テスト、ちゃんとしていますか?
  5. C++開発者のための単体テスト入門 第2回 C++アプリケーションの効率的なテスト手法(CppUnit編)
  6. C++開発者のための単体テスト入門 第3回 C++アプリケーションの効率的なテスト手法(NUnit編)

AWARDS


Microsoft MVP
for Visual Developer - Visual C++


Wankuma MVP
for いぢわる C++


Nyantora MVP
for こくまろ中国茶

Xbox

Links

記事カテゴリ

書庫

日記カテゴリ

光はそんなに速くない

この世で一番速い光は毎秒30万km進みます。

[0]
きょうびのCPU、スゴいよねー。内部クロック3GHzとか。
3GHzつったらあなた、スイッチが一秒間に 3,000,000,000回
入切入切入切入切するわけじゃん。
一回の入切の間に光はたったの10cmしか進めないのね。

[1]
東京-大阪間を600kmとしましょうか。
東京-大阪間を光が走るときの所要時間は
600[km]÷300000[km/s] = 2[ms]
この距離で通信を行うことを考えます。
一文字おくるたびに相手から"OK"が返ってくるのを待つとします。
そうすると一文字送るのに要する時間は4[ms/char]
ってことは一秒間に送れる文字数はたったの250文字なんですね。

[2]
ゲームの世界では一秒間に描画するコマ数:FPS(Frames Per Sec)
が時間の基本として使われていて、たいていが60FPSなので1/60秒
が1コマの描画時間。ガチな格闘ゲームなんかだとこの1/60秒の
入力で動きが決まります。ネットワーク対戦で格闘ゲームをやると
なるとこの1/60秒の間に両者のデータを交換しなければなりません。
アッチからコッチ/コッチからアッチにデータを送るわけで、許される
所要時間は1/120秒。光の速さで2500km。つまりオンライン格闘ゲーム
がまともに遊べるのはせいぜいアジア一円ってとこで、李さんや金くん
とならともかくボブやピエールとのガチの格闘は光の速度が壁になって
原理的に不可能なのね。

投稿日時 : 2008年6月3日 11:58

コメントを追加

# re: 光はそんなに速くない 2008/06/03 12:41 みきぬ

> ってことは一秒間に送れる文字数はたったの25文字なんですね。
         0

       彡

  (,,ノ゚д゚)ノ

# re: 光はそんなに速くない 2008/06/03 12:44 なちゃ

こういうのってなんていうんだっけか…

# re: 光はそんなに速くない 2008/06/03 12:59 安藤@大分

従来の電気信号の速度ってどうなるんだろう…

もっとも光でも実際の通信は圧縮されたりマルチプレクサ?されるので
もう少し実効速度はあがるのでは?

# re: 光はそんなに速くない 2008/06/03 13:16 επιστημη

あー、一桁ちごーとる。修正しまっす orz

# re: 光はそんなに速くない 2008/06/03 13:28 凪瀬

> もっとも光でも実際の通信は圧縮されたりマルチプレクサ?されるので
> もう少し実効速度はあがるのでは?
分光の精度も関係すると思うけど、波形重ねられますからねぇ。
周波数ごとに速度が微妙に異なってくるのか…。処理が面倒くさそうだ。
光回路時代になったらCPU内でも波長による並列動作とかするようになるのかなぁ?
量子コンピュータ時代までは演算手法に劇的変化はないと思ってはいるんだけど…。

# re: 光はそんなに速くない 2008/06/03 20:12 Hirotow

「ひかり」は75m/secの早さで進みます。
というのは置いといて、これは詭弁ですが実際に東京~九州くらいの距離になると光の速さでも遅延が目立ちます。
なので、FTTHでもRWinの設定値が低いと一定以上の速度は出なくなります。(鹿児島~東京間で既定値から推奨値にしたら実測5MB/sec速くなりました)

# re: 光はそんなに速くない 2008/06/03 20:34 道化師

>李さんや金くんとならともかくボブやピエールとのガチの格闘は光の速度が壁になって原理的に不可能なのね。

否! 対戦者を両方とも回転台に乗せて光速(に近い速度)でぶん回せば両対戦者の時間の流れが

   _,,....,,_  _人人人人人人人人人人人人人_
-''":::::::::::::`''>      ゆっくり!!!     <
ヽ::::::::::::::::::::: ̄^Y^Y^Y^Y^Y^Y^Y^^Y^Y^Y^Y^Y^ ̄
 |::::::;ノ´ ̄\:::::::::::\_,. -‐ァ     __   _____   ______
 |::::ノ   ヽ、ヽr-r'"´  (.__    ,´ _,, '-´ ̄ ̄`-ゝ 、_ イ、
_,.!イ_  _,.ヘーァ'二ハ二ヽ、へ,_7   'r ´          ヽ、ン、
::::::rー''7コ-‐'"´    ;  ', `ヽ/`7 ,'==─-      -─==', i
r-'ァ'"´/  /! ハ  ハ  !  iヾ_ノ i イ iゝ、イ人レ/_ルヽイ i |
!イ´ ,' | /__,.!/ V 、!__ハ  ,' ,ゝ レリイi (ヒ_]     ヒ_ン ).| .|、i .||
`!  !/レi' (ヒ_]     ヒ_ン レ'i ノ   !Y!""  ,___,   "" 「 !ノ i |
,'  ノ   !'"    ,___,  "' i .レ'    L.',.   ヽ _ン    L」 ノ| .|
 (  ,ハ    ヽ _ン   人!      | ||ヽ、       ,イ| ||イ| /
,.ヘ,)、  )>,、 _____, ,.イ  ハ    レ ル` ー--─ ´ルレ レ

になるからおk。

# re: 光はそんなに速くない 2008/06/03 20:35 道化師

ずれまくった。orz

# re: 光はそんなに速くない 2008/06/04 0:20 S

>ってことは一秒間に送れる文字数はたったの250文字なんですね。

これはひどい高卒理論ですね。

# re: 光はそんなに速くない 2008/06/04 0:35 επιστημη

...ごめん、なにが"ひどい"んだかわかんない。

# re: 光はそんなに速くない 2008/06/04 1:34 シャノン

他にも色々アレやコレやを考慮に入れると250文字なわけないでしょう、というつまらない突っ込みを期待。

# re: 光はそんなに速くない 2008/06/04 9:21 読者

>一文字おくるたびに相手から"OK"が…
"OK"は文字列で~…NULL入れて三文字?

# re: 光はそんなに速くない 2008/06/04 10:10 なちゃ

そういえばその昔(学生のころ)、CPUのクロックは理論上絶対に1GHzを超えられないって話がありました。
納得いかないのでなんで?と聞いたら、なに言ってんの?光速の限界超えるからやん、当たり前やん、て反応されました。
何がどういう風に限界超えるの?って聞いたら、なに言ってんのこいつ馬鹿?って反応されました。

元々の話の出所では多分他の前提があったからなのだと思うのですが、誰もそんな前提は把握してません。

で余裕で1GHz超えてるわけですからとうに光速の壁は超えているのですよ。

# re: 光はそんなに速くない 2008/06/04 11:21 επιστημη

>>一文字おくるたびに相手から"OK"が…
> "OK"は文字列で~…NULL入れて三文字?

ここでは"OK"を表現するシンボルならなんでもいい。
OKなら青ランプ/NGなら赤ランプ とかね。

> 光速の壁

3倍以上超えちゃってますねー♪
ミクたんは科学の限界を越えてるし
メモリは価格の限界を越えまくってうどんげ涙目だし。

# re: 光はそんなに速くない 2008/06/04 12:02 Hirotow

>ってことは一秒間に送れる文字数はたったの250文字なんですね。
距離によりけりですが、RWinの設定を1にすればそうなりますね。

# re: 光はそんなに速くな 2008/06/04 23:35 ほげ

>1Gの壁
トランジスタの微細化に関係するんですが、トランジスタの反応速度の関係かなぁ。
トランジスタの反応速度ってトランジスタ自体の大きさに比例するので、その人は恐らくトランジスタの微細化がここまで進むとは考えなかったんじゃないかなと、想像。
(現状最小のトランジスタは原子3個分の厚さ、トランジスタの構造上これ以上薄くなりませんが)

ついでに、配線長の許容が1GHzだと30cm以下になります(実際にはそこまで単純じゃないですが、極論だとそんなもん)
CPUは小さいですが、CPU内の回路ってかなりの長さなので難しいといわれていたよーな記憶が・・・

# re: 光はそんなに速くない 2008/06/05 0:40 道化師

> 光速の壁

否! CPUを中心に世界が光速(に近い速度)でぐるぐる回ってればCPUから見ると全世界の時間の流れが

   _,,....,,_  _人人人人人人人人人人人人人_
-''":::::::::`''>      ゆっくり!!!     <
ヽ::::::::::::: ̄Y^YY^YY^Y^Y^YY^YY^Y ̄
 |::;ノ´ ̄\::::::\_,. -‐ァ     __  ___   ____
 |::ノ   ヽ、ヽr-r'"´  (.__    ,´ _,, '-´ ̄ ̄`-ゝ_ イ
,.!イ_  _,.ヘーァ'二ハ二ヽ、へ,_7   'r ´          ヽ、ン、
:::rー''7コ-‐'"´    ;  ', `ヽ/`7 ,'==─-      -─==', i
r-'ァ'"´ /   /! ハ  ハ  !  iヾ_ノ i イ iゝ、イ人レ/_ルヽイ i |
!イ´ ,' | /__,.!/ V、!_ハ  ,' ,ゝレリイ (ヒ_]     ヒ_ン )| |i ||
`!  !/レi' (ヒ_]     ヒ_ン レ'i ノ  !Y"   ,___,  " 「 !ノ i |
,'  ノ   !'"    ,___,  "' i .レ'  L.',.     ヽ _ン    L」 ノ| .|
 (  ,ハ     ヽ _ン    人!     | ||ヽ、       ,イ |イ| /
,.ヘ,)、  )>,、 ___, ,.イ  ハ    レ ル` ー--─ ´ルレ レ

になるから光速の壁は越えなくておk。

# re: 光はそんなに速くない 2008/06/05 11:23 επιστημη

> 現状最小のトランジスタは原子3個分の厚さ

ホント? 純粋なシリコンにほんのちょっとの不純物を
加えることでP型/N型を作ってるわけで、
原子1個にどうやって"ほんのちょっとの不純物"を...?

# re: 光はそんなに速くない 2008/06/05 12:49 読者

せんせー、こんなの見つけましたぁ~。

世界最小「原子1個分の薄さ」のトランジスターを開発
2008年4月18日
http://wiredvision.jp/news/200804/2008041823.html

# re: 光はそんなに速くない 2008/06/05 14:07 ほげ

うわ、1個分が出てのか、サボってるとだめですねぇ
3個分ってのも実験室レベルだったんで、実際に使われてはないです。

んで、これらのトランジスタは簡単に言えば従来のP型/N型とは内部動作がまったく違うんで、別ものと思ってもいいです。
周りから見ると同じ動作するって感じのブラックボックスみたいなもんす。

# re: 光はそんなに速くない 2008/06/05 16:12 επιστημη

すげー、10[nm]でトランジスタ(FETだな)が作れるんだー。
こーなるとァレだね、ダイからリード線引っ張ってくるランド
の面積がバカならんしワイヤを流れる時間ももったいなくて、
CPU内になんもかんも押し込むよになってくんのかね。

IntelさんはCPUとGPUを相乗りさせよとしてますしねぇ。

# re: 光はそんなに速くない 2008/06/05 17:41 あんどちん

えぴさんが計算しているのは最小遅延時間でしかないです。
1文字8ビットと仮定してOKを2ms遅延なしで返しているならば帯域は16ビット。
帯域幅を増やせば転送量も増やせますね。

海外のサーバからファイルを落としてくるときに数MB/sの速度が出てるときがありますよね?この計算では現実との間に矛盾が生じています。

# re: 光はそんなに速くない 2008/06/05 17:56 επιστημη

> えぴさんが計算しているのは最小遅延時間でしかないです。

はい、もちろん承知しておりますとも♪

# re: 光はそんなに速くない 2008/06/09 19:23 れい

> アッチからコッチ/コッチからアッチにデータを送るわけで、

真ん中にサーバー置いてそこと同期とったらどうかな?
1/60の間にサーバーと同期とれればいいので。

これならオーストラリアのボブとか
ロシアのセルゲイさんと格闘できますよ!

タイトル
名前
URL
コメント