%E3%82%AB%E3%83%B3%E3%83%8A%E3%83%A0%E3%82%B9%E3%82%BF%E3%82%A4%E3%83%AB%E3%81%AE%E3%83%93%E3%83%A5%E3%83%BC%E6%95%B0%E3%81%8C%E3%81%82%E3%81%BE%E3%82%8A%E3%81%AB%E3%82%82%E5%A4%9A%E3%81%99%E3%81%8E%E3%81%A6YouTube%E3%81%AE%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E7%A0%B4%E5%A3%8A

カンナムスタイルのビュー数があまりにも多すぎてYouTubeのプログラムのコードを破壊

style

あらまあ!

これは、プログラマならぜひ覚えておくべき情報だ。PSY(サイ)のGangnam Style(カンナムスタイル)は、視られた回数があまりにも多いので、YouTubeのビューカウンタを壊してしまった。それは、32ビットインテジャーの値域をぶち破った、ホントに初めてのビデオ、という名誉を勝ち取った。

YouTubeはこの件に関してこう述べた:

psy
[一つのビデオが32ビットインテジャーの最大値(2,147,483,647)よりも多く視られるとは、考えもしませんでしたが、でもそれはPSYがまだいないころの話です。“カンナムスタイル”は、視られた回数が多すぎるので、64ビットインテジャー(9,223,372,036,854,775,808)にアップグレードしなければなりませんでした。PSYのビデオのカウンターの上をホバーすると、ちょっとした数学のマジックを見られます。YouTubeにはもっともっと大きな数が現れると思われますので、今から覚悟しておきましょう。]

でも、だからどうした?と言いたいのだけど。プログラムを書くときは、数値のようなデータをどう保存するかを、考えなければならない。32ビットインテジャーでよいのか?それとも64ビットインテジャーか? 32ビットなら使用するメモリも小さいが、−2,147,483,648から2,147,483,647までの数しか保存できない。64ビットインテジャーは大量のメモリを使うけど、−9,223,372,036,854,775,808から9,223,372,036,854,775,807までの数を保存できる。

(* ここでは話を簡単にするためにあえて、signedとunsigned(有符号整数と無符号整数)の違いを忘れたふりをしている。)

パックマン(Pac Man)のキルスクリーンをご存知だろう。プレーヤーのレベルが256を超えると、画面がめちゃくちゃになる。これも同じ問題だ。こちらは32ビットじゃなくて8ビットの数だけど。

昨日(米国時間12/2)の記念すべき事件のあと、YouTubeはコードを書き換えたので、今では最大9クウィンティリオン(quintillion)までのビューをサポートしている。安心してビデオを見よう。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))

広告

blog comments powered by Disqus

コメント

Makoto Jo
この文章だけだと、まだちょっとやってみたという感じですね。(私は20年やらせてもらってます)M&am…
IMO
iPhone6PLUSのときは散々反対意見を載せていたが、よく恥ずかしげもなく手のひら返せるなあ。さ…
柳孝治
タブレットで電話できるようにしたんですがおかしいでしょうか?
フォロー

新しい投稿をメールで受信しましょう。

Join 142 other followers