2007年12月アーカイブ



コード



t = Time.now
startTime = t.to_f # 開始時刻を保存

a = 0
for i in 1..10000 # ( n = 10000, 100000, 1000000, 10000000, 100000000)
a += i
end
t = Time.now
endTime = t.to_f # 終了時刻を保存

puts ( endTime - startTime).to_s + "秒 : " + a.to_s

1からnまでの数値を足し合わせていくコード。nは10000, 100000, 1000000, 10000000, 100000000の5パターンで、それぞれ5回ずつ実行してその平均を取った。


ちなみに共通のコードが1.9.0でも1.8.6でも動作した。非互換の部分が含まれていなかったようだけど、どういった部分で互換性がないのか知りたい。








1.9.01.8.61.9.0:1.8.6
100000.0154s0.0158s1.03
1000000.162s0.138s0.825
10000001.86s2.17s1.16
1000000018.9s22.3s1.18
100000000362s386s1.06

平均して、1.9.0は1.8.6に比べて1.05倍速いようだ。n = 100000のとき1.9.0のほうが時間がかかっている。それ以外は1.9.0が速いようなので、何かしら例外的な状態にあったと思う。これについては後々もう一度調べてみようと思う。




第22回Ruby/Rails勉強会@関西


年明け間もなく、1月12日に第22回Ruby/Rails勉強会@関西が催される。


Rubyを本格的に使い始めたのはごく最近のことだけど、どうやら短い間にすっかり虜にされてしまったみたいなので、勉強会にも参加したいと思っている。Railsも使いこなせるようになりたいし。


勉強会には毎回、噂に聞き知る方々がいらっしゃっているようで、私の知らないたくさんのことを持って帰ってくることができると思う(「お前なんか知能が低すぎるので来ないでください」って言われても文句は言えないです)。


Ruby 1.9.0、リリース


そんな折、Ruby関西のMLで「誰か第22回の勉強会で、1.9.0の使用報告をする人はいませんか」という話が流れていた。1.9.0は昨日リリースされた。重要な変更点がたくさんあるそうだ。とても面白そうなので、誰かしらこのテーマで発表するだろうと思う。


1.9.0は安定版ではなく、”ブリーディング・エッジ”だそうで、エンタープライズで利用するにはまだ不確定な部分がたくさんあるという。しかし個人的に使う分には何ら問題がないそうなので、私は使ってみたいと思っている。先進的な機能があるなら早めに触れておきたい。


そういうわけで恐らく1.9.0の使用報告は興味深く拝聴することになると思っていて、であれば1.9.0がどのようなものなのか、触り程度でも予習しておきたい(あわよくば発表だってしてみたいのだ)。1.9.0を試してみようと思った動機はそんなところ。


こういうとき、どんなことをすればいいかわからないの


経験がなくて未熟で馬鹿な私は、とりあえず1.9.0がどういうものなのか調べてみることにした。


まつもと×笹田、Ruby 1.9を語る - @IT



  • YARV: VMを使って動いている

  • Fiber: Enumeratorの実装に用いられている


構文木で扱うスタイルから、VMを使う形に移行したことによって、プログラムの動作は早くなった、というようなことが載っていた。とするとまず比べてみるべきは速度の違い。ベンチマークみたいなことをして調べてみればいいのかしら。


次に、Enumeratorについて。1.8までのブロックでは、複数の配列を順かつ同時に(なんだこの表現?)処理しようとすると煩雑な手順が必要だった。これを手軽に扱えるようにしたものがあるということなので、こちらも試してみたい。


また、ruby-devで変更点についてまとめてあるっぽいので、これも訳してみる。というかまずはこれからか。


クリスマスリリースのお知らせ


[ruby-dev:32713] pre-release note for the christmas release.


要約すると、



  • 以前アナウンスしていた1.9.1ではなく、1.9.0のリリースになるが、すべての非互換の変更は既に加えられている

  • 1.9は非互換であり、1.8で書かれたプログラムは動作しない恐れがある

  • 移植手順の解説や移植ツールなどは、今回のリリースでは提供されない


というような内容。移植ツールとかが、もしかしたら出てくるかもらしい。


性能の比較


Ruby1.9における最大の変化はVMの採用で、それによって実行速度が1.5倍程度速くなっているという。


ただし速くなったというのはRuby自体の性能で、Cで書かれたライブラリなどの速度が速くなったわけではないので、いわゆる「Rubyの普通の処理」(変数の代入やループの処理など)が速くなったということになる。


ベンチマークの手法に明るくないので色々調べてみたのだが、具体的なことが見つからなかったので、Wikipediaの記述を参考にした。





これから何日かかけて、Ruby1.9.0と1.8.6の間での性能の比較を行おうと思う。



  • 特定の処理を終えるまでにかかる時間

  • 特定の時間内に処理できた回数(未実行)

  • メモリ消費量の推移(未実行)



Technology in 2008によると、英国Economistが示した予言は3つ:


1. インターネットへのアクセスは遅くなる



The internet is not about to grind to a halt, but as more and more users clamber aboard to download music, video clips and games while communicating incessantly by e-mail, chat and instant messaging, the information superhighway sometimes crawls with bumper-to-bumper traffic.



動画に関してはニコ厨がわかりやすいし、Winnyなどのファイル共有ソフトの占めるトラフィックは大きいんじゃないか(ゲームに関してはあんまりイメージが湧かない。ゲーム自体がそれほどの容量を持ってるケースはめずらしいような)。



Soon, portable media-players, personal navigators, digital cameras, DVD players, flat-panel TV sets, and even mobile phones won’t be able to function properly without access to the internet. Expect even digital picture frames to have a WiFi connection so they can grab the latest photos from Flickr.



話を進めて、明らかなインターネットへのアクセスのみならず、デジカメやケータイ、テレビやDVDプレイヤーからのアクセスも活発になり、トラフィックに影響を及ぼすようになるだろう、としている。国内ではケータイからのアクセスは既に少なくない割合を占めていると感じる。狭い範囲でのサンプリングになるが、授業中にケータイで情報を集めているハッカーな友人や、休み時間にエロ同人誌を探している友人がいた。


2. 無線接続が主になる



Earlier this month, Google bid for the most desirable chunk (known as C-block) of the 700-megahertz wireless spectrum being auctioned off by the Federal Communications Commission (FCC) in late January 2008. The 700-megahertz frequencies used by channels 52 to 69 of analog television are being freed up by the switch to all-digital broadcasting in February 2009.



Googleがアメリカ連邦通信委員会による700MHz帯のオークションへの入札を表明したことについて。これまでアナログ放送に使われていた周波数帯だそうで、そう考えると様々な場面で活用できることが想像できる……と、思ったのだけど、具体的にはイメージできなかったので誰か思いついたら教えてください。


そもそもテレビ放送ではユーザは受信しかしなかったけど、Googleが700MHz帯を占有できるようになったからといって、双方向の通信ができるようになるというものなのだろうか。



In short, win or lose, Google has already achieved its objective. Internet searches will doubtless be as popular among mobile-internet surfers as among their sedentary cousins. Owning at least 60% of the mobile search market is the prize Google has been after all along.



Googleとしてはケータイ検索でのシェアを少なくとも60%は確保したいとしており、そのためにケータイな分野に積極的に参入しているらしい。テレビの周波数帯を使えるってことは、これまでより単位時間で通信できる情報量が増加するってことなのかな。だとすると快適になると思うけど、それって第一の予言と矛盾しないか?


3. コンピュータと関係ないことすらオープンになる



Even Apple, long a bastion of closed systems, is coming round to the open idea. Its heavily protected iPhone was hacked within days of being launched by owners determined to run third-party software like Skype on it.




Like other Linux desktop editions, Ubuntu works perfectly well on lowly machines that couldn’t hope to run Windows XP, let alone Vista Home Edition or Apple’s OS-X.




  • iPhoneが発売まもなくハックされたことを受けて、Appleが(オープンソースという考え方に)賛同を示した点

  • Windows XPやVista、OS-Xなどが動作し得ないスペックのマシンで、Ubuntuが完璧な動作を見せた点


を挙げ、オープンな技術が良い結果を生み出していることを示している(適当に読んだらコンピュータと関係のないものに関する記述が見つからなかった。あとでちゃんと読みたい)。DELLがUbuntuをインストールしたPCを売り出したこともあるし、Linuxはかなり普及を進めていると思う。Windowsと大差なければ(少なくとも)無料であるメリットがLinuxにはあるから、こちらを選ぶ人もいるのではないだろうか。



  • Linux

  • OpenOffice

  • FireFox

  • MySQL

  • Evolution

  • Pidgin


を挙げ、オープンソースなアプリケーションの完成度の高さや普及具合を示している。そうそうたる顔ぶれだが、これらすべてオープンソースなプロジェクトだ。確かにパッケージソフトや大手企業のソフトにも引けをとらない完成度のものばかりだと思う。


あとPidginは今回初めて聞いた。マルチプロトコルのIMクライアントだということで、使ってみようと思う。Regnessemみたいな感じかな。


参考


冬休みの予定

| コメント(0) | トラックバック(0)



この冬休みは以下の予定を消化する。優先順。



  • Webサービス制作

  • SEA、簡易描画機能・仮想ハードウェア(コード)

  • SEA、企画書・仮想ハードウェア仕様まとめ(ドキュメント)

  • ソフ開過去問3年


Webサービス制作


500km離れたところに住むらしいlonlonさん(id:lonlon2007)と、共同でWebサービスの制作をすることになった。


PHPでのプログラミングを担当させて頂くことに。及ばずながら助力になれると嬉しい。今回の案だけでなく、lonlonさんのネタは興味を惹かれるものがたくさんある。その実現にいくらか協力できるように頑張ろうと思う。


SEA、顧問(と主事)に概要提出


SCTのほうのSEAについて。


仮想ハードウェアクラスはだいたい形になっている。今は標準入力から空白区切りで命令を読み込んでいるので、まずはこれをバイナリデータから読み込むようにする。それができたらデバッグ用に描画機能を実装する。あとはハードウェアクラスの煮詰めと、2台のハードの干渉、公開用の3D描画機能。この辺りは並行して進めようと思う。


会場として電算機室の許可を頂くために、主事にSEA概要の企画書を提出したい。ただしその前に顧問から許可が欲しいので、まずは顧問に見せて意見を仰ごうと思う。顧問なら(少なくとも思想には)賛同してくれると思うけど、費用とか設営の現実的な話についてアドバイスを頂けるかもしれない。あと小中学校、高校とのパイプが欲しい。どうやって連絡を取ればいいのかについても顧問と主事に聞いてみる。


C用のコンパイラをリリー(id:rosylilly)が作ってくれるかもしれないので、そのために仮想ハードウェアの仕様をまとめておく。リリーでなくとも必要になると思うし。


ソフ開過去問3年分くらい解く


適当に3時間ほど見繕える日にやっときたい。


とりあえず1ヵ月


1か月はとりあえず。これは冬休みだけの話じゃないけど。


初段

| コメント(0) | トラックバック(0)



審査は合格


通っちゃいました。3月の一級取得から9ヵ月。長かったような、短かったような。


二段への昇段審査は、来年12月までないみたい。これから1年待たなきゃ(三段へは2年待たなきゃいけないらしいので、どれだけ上手くやっても高専卒業までには三段が限界か)。のんびり稽古できるような気もするけど、来年は今想像するみたいに穏やかな年じゃないだろうな、と思う。


1年は短いようで長い。長いけども、居合については意識しなきゃ飽きてしまうってことはない。元々一生続けられることに魅力を感じて始めたのだ。70, 80才に至ってより味の出てくるスポーツとか武道って、なかなかない。


師範の人による講評で厳しく指摘された点が多々あったので、二段までの1年の間に直そうと思う。また、普段から先生に指摘されている「クセ」も削ぎ落として、よりシンプルな居合にしたい。まずはそこから。より上手く見せることはそのあとで考えたらいい。


それにしても、居合をしているといつも思う、師がいるってのは良いことだなあ。


団体戦に出してもらえるかも


支部のメンバーとの忘年会で鍋をつついてた。店に一枚板のひのきでできたテーブルがあったのだけど、驚くべきことに手作りらしい。すげーなぁ。部屋に欲しいけど置き場所には困るだろううなあ。


それで、雑談してたり、先生からお話があったりした。


「ボロクソ言われてちょっと落ち込んでたみたいだけど、彼(師範の人)は厳格な人だから、いつもあんな感じだよ。落ち込んだりはしないでいい」と。あと「ただし、指摘された点は本当。私が見てもその点は伝えたと思う。それは直さないといけない」とも。確かに自分じゃ気づき得ないことを教えて頂けるのはありがたい。感謝の気持ちを、次の審査での実力を以って示さないと。


それと、これで晴れて有段者なので団体戦にも出られるよ、と。団体戦は5月頃にあるらしい。兄弟子が優勝されてた県大会のことだと思う。足を引っ張りたくないけど、足を引っ張るつもりはない。自分の旗を一度でも上げさせるために精進します。


「読んで字の如く、初段は初めの段。有段者になったから満足じゃ駄目だ。二段、三段と位を重ねるにつれて審査も厳しくなるから、それ相応の努力をしなければ昇段はさせてもらえない」


というわけで、しっかり稽古に励みたいと思う。


制定居合は12本の大体を把握したので、来年から古流も習うことになった。古流は制定居合よりもずっと奥が深い、より居合道にハマるはずだよ、と語る先生は普段以上に楽しそうだった。


このアーカイブについて

このページには、2007年12月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2007年11月です。

次のアーカイブは2008年1月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ

Powered by Movable Type 4.32-ja