日本Rubyの会 / 東京大学大学院 情報理工学系研究科創造情報学専攻 笹田耕一

Slides:



Advertisements
Similar presentations
「ネット社会の歩き方」レッスンキット プレゼンテーション資料集 13. 個人情報は大切なデータ プレゼンテーション資料 著作権は独立行政法人情報処理推進機構( IPA )及び経済産業省に帰属します。
Advertisements

ライブラリ としての Web サービス 氏久 達博 大阪大学大学院 M1. 注 ➲ この発表はネタ半分ま じめ半分です。
Rubyの 実装が 増えている arton RubyKaigi アジェンダ 処理系 ブリッジ 考察 まとめ.
Genius Framework について 吉津 卓保( S2 ファクトリー株式会社). 自己紹介.
Windows Workflow Foundation of .NET Framework 3.0
PHP AV(Audio Visual) 拡張 クライアントサイド PHP アプリケーションPHP
This slide was a material for the “Reading PLDI Papers (PLDIr)” study group written by Kazuhiro Inaba ( ), under my own understanding of.
Rubyプログラムを高速に 実行するための処理系の開発
PHP AV(Audio Visual) 拡張 PHP asアプリケーション
榮樂 英樹 LilyVM と仮想化技術 榮樂 英樹
密な演算子呼び出しで実現した 内部DSLの前処理による 実行速度改善の試み
オレポータビリティ 日本Rubyの会 青木 峰郎.
bugs.documentfoundation.org の歩き方
プログラミング入門 (教科書1~3章) 2005/04/14(Thu.).
ChaosなScript 2012/05/05 hole.
稲葉 一浩 (k.inaba) Python と プログラミングコンテスト 稲葉 一浩 (k.inaba)
LibreOffice開発Q&A Kohei Yoshida (吉田浩平)
FORTRAN 科学技術計算用 数値演算精度を重視したシステム K=0 DO 10 I=0,N,1 K=K+I 10 CONTINUE
情報理工学部 情報システム工学科 ラシキアゼミ3年 H 岡田 貴大
技術トピックス 2014/08.
情報学部のWebサイトを考える 2007年5月14日 石上隆達.
JavaScript Language Update
18.ファイル共有ソフトは 要注意 プレゼンテーション資料
18.ファイル共有ソフトは 要注意 プレゼンテーション資料
PHP Framework Update symfony 編 株式会社ディノ 月宮紀柳.
Plugin を改造してみる 2008/10/18 id:akihirox.
Androidソースコード公開後のJNI
42.契約は慎重に プレゼンテーション資料 「ネット社会の歩き方」レッスンキット プレゼンテーション資料集
の まとめ 2007/04/02 (Mon) / d;id:hzkr
Web 2.0 Conference 2005 実行時自己書き換え佳境 首藤 一幸 話の流れのスライドを加える?
発表者 2011/01/08 楽しい256バイトイントロの 世界 発表者 2011/01/08.
モバイルP2Pを用いた携帯電話 動画配信手法の提案 第3回
12.個人情報は公開しない プレゼンテーション資料
コンパイラの解析 (2) GCJのデータ構造 - 1.
型付きアセンブリ言語を用いた安全なカーネル拡張
Windows Azure (CTP) 触ってみた
Microsoftのマルチプラットフォーム戦略
This (near me) That (near you) That over there
Microsoft Visual Studio 2005 Tools for
Java Virtual Machine 高速化のためのbyte code 解析 An analysis of byte code to improve the performance of Java Virtual Machine 鈴木タカハル 谷研究室 Feb, 2003.
XP Extreme Programming.
WEBアプリケーションの開発 2002年度春学期 大岩研究会2.
MIX 09 2/23/2019 1:22 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
私のスマホ 第28回 制作 吉原 博一.
通信機構合わせた最適化をおこなう並列化ンパイラ
Windows Azure (CTP) 触ってみた
Fortranについて 高エネルギー加速器研究機構 平山 英夫.
19.コピーしてもいいの? プレゼンテーション資料
C言語を用いたマシン非依存な JITコンパイラ作成フレームワーク
第5章 計算とプログラム 本章で説明すること ・計算の概観と記述法 ・代表的な計算モデル ・プログラムとプログラム言語.
Java における 先進的リフレクション技術
34.とばく行為は禁止 プレゼンテーション資料 「ネット社会の歩き方」レッスンキット プレゼンテーション資料集
Virtualizing a Multiprocessor Machine on a Network of Computers
並列処理プロセッサTPCOREの 組み込みシステムへの応用 理工学研究科数理情報科学専攻 福永 力,岩波智史,情報システム研究室.
コンパイラ 2012年10月1日
7.ネットで悪口が罪になる プレゼンテーション資料
4.危険な情報に注意 プレゼンテーション資料 「ネット社会の歩き方」レッスンキット プレゼンテーション資料集
計算機プログラミングI 木曜日 1時限・5時限 担当: 増原英彦 第1回 2002年10月10日(木)
理工学部情報学科 情報論理工学研究室 延山 周平
20.携帯電話のマナー プレゼンテーション資料 「ネット社会の歩き方」レッスンキット プレゼンテーション資料集
38.クレジットカードの不正 利用は犯罪 プレゼンテーション資料
第28回世界コンピュータ将棋選手権アピール文章 作成:井本 康宏 作成日:2018/3/吉日
プログラミング基礎a 第9回 Java言語による図形処理入門(1) Javaアプレット入門
第6回放送授業.
コンパイラ 2012年10月11日
全体ミーティング(9/15) 村田雅之.
C#プログラミング実習 第1回.
1.2 言語処理の諸観点 (1)言語処理の利用分野
プログラミング言語Ⅰ(実習を含む。), 計算機言語Ⅰ・計算機言語演習Ⅰ, 情報処理言語Ⅰ(実習を含む。)
就職活動.
Presentation transcript:

日本Rubyの会 / 東京大学大学院 情報理工学系研究科創造情報学専攻 笹田耕一 ko1@atdot.net

まとめ Ruby 1.9 は鋭意開発中です。 Ruby 1.9 は今年の12月に出ます。 We are developing Ruby 1.9 . Ruby 1.9 は今年の12月に出ます。 Ruby 1.9 will be released on this Dec. よっぽどのことがない限り出ます。出します。 どうぞ使ってください。

Agenda Ruby 1.9 の紹介 Ruby 1.9 の現状 Ruby 1.9 の今後 おもにバーチャルマシンについて 最近の話題など 結局 1.9 はどうなるのか

Notice 発表者:ささだこういち 本発表について:はじめての挑戦 いろんな事情があって、漢字の名前で お仕事でRuby NoRuby, NoLife (NoMoney) 本発表について:はじめての挑戦 Windows Vista で MS Office PowerPoint 2007 首をしめてプレゼン

Ruby 1.9 のご紹介 バーチャルマシンの導入 文法の変更 M17N対応 組み込みクラス、ライブラリの追加・変更 その他、「ぎゃっ」と言わせる変更 1.9.1 が 2007 12/25 リリース 昨年のRubyKaigiで発覚した衝撃の事実

Ruby 1.9 のご紹介 バーチャルマシンの導入 Virtual Machine (VM) – 仮想機械 e.g. Java VM, .NET Framework 構文木インタプリタ→バイトコードインタプリタ 2007年1月1日に導入

構文木を そのまま実行 → 遅い 評価機(実行) Ruby 1.9 VM 1.8 以前の場合 Ruby Script Parser 構文木(AST) 評価機(実行)

なんか色々 できる コンパイルして実行 →速い Compiler VM(実行) Ruby 1.9 VM 全体像 Ruby Script Parser AOT コンパイラ 構文木(AST) C プログラム Compiler JIT コンパイラ C コンパイラ YARV 命令列 機械語 拡張ライブラリ VM(実行)

Ruby 1.9 VM そのほかの違い いろんな最適化 ネイティブスレッド対応 新しいデバッガ・プロファイラAPI 最近、末尾呼び出し最適化(Tail call optimization) 多分、もっとも高速なRuby処理系 ネイティブスレッド対応 POSIX Thread / Windows グローバルVMロックを用いた逐次実行 新しいデバッガ・プロファイラAPI 詳細は略

Ruby 1.9 VM FAQ Q.YARV? A. Yet Another Ruby VM の略 もう忘れて Q. TRV? A. The RubyVM の略 俺が言い出したのか? Q. TRVって呼ぶの? A. なんでもいいけど もう、Rubyでいいじゃん

Ruby 1.9 / VM FAQ (cont.) Q. これからのMulti-Core時代、並列(略) Q. えー、まだ JITないの? A. JIT に夢持ちすぎ AOT (Ruby to C) を予定 Q. クラスファイルみたいなものは? A. あんまり需要がないみたい

Ruby 1.9 / VM の紹介 IPA 未踏のご支援 IPA(独立行政法人情報処理推進機構) 未踏ソフトウェア創造事業 2004年度未踏ユース 2005年度上期未踏 2006年度下期未踏 ← イマココ 「Ruby 用仮想マシン YARV の完成度向上」

Ruby 1.9 最近の話題から 「継続かわいいよ継続」 Continuation / callcc のサポート 機能の詳細は省略 「継続」で検索! 実装は 1.8 の green thread と同じ つい出来心で 結局誰も使わないんだけど

Ruby 1.9 最近の話題から 「Fiberかっこいい」 新機能・Non preemptive thread 自動的に処理が切り替わらないスレッド 詳細は「Ruby Fiber」を検索 Microthread とか Coroutine とか 継続作ったら、なんか作りたくなって Generator を作るのが目的 オーバースペック気味? ほかに応用はあるか? 状態遷移機械?

Fiber Puzzle f1 = f2 = f3 = nil; fr = Fiber.current f1 = Fiber.new{f2.yield; fr.yield} f2 = Fiber.new{f3.yield} f3 = Fiber.new{f1.yield} f1.yield

継続とFiber そんな機能知らないよ 派 継続かわいいよ継続 派 作るのやめようかなあ 派 このようにするとcoreを吐きます 派 そんな機能知らないよ 派 継続かわいいよ継続 派 無いと寂しいです 派 callcc is so cool!! 派 作るのやめようかなあ 派 Fiberだけあればいいんじゃない? 派 不完全な機能しかないんだから使えん 派 Fiberもオーバースペックでは? 派 このようにするとcoreを吐きます 派 (継続)なくせばいいんじゃないですか 派

Ruby 1.9 開発方針 「2007年12月にリリース!」by Matz @RubyKaigi2006 開発合宿などで 1.9 の方針決定 「なるべく」互換性を高めるように M17N の方針検討 gem の標準添付 実現へ向けて粛々と開発中 ←イマココ

Ruby 1.9 の開発風景 開発合宿 主に仕様の議論 2月に松江で開発合宿 6月に東京で開発合宿 ただし、宿は合わせていない 木曜日~日曜日 6月に東京で開発合宿 一昨日と昨日 ただし、宿は合わせていない 「あと数回やりたいね」by Matz スポンサー募集

Ruby 1.9 の開発風景 或いは仕様変更とのあくなき戦い (中略)

Ruby 1.9 今後 1.9.1 を 2007年12月25日にリリース ちょっと品質が悪くてもリリース 出来る限りガンバル でも、リリースしないと誰も使わない → バグが見つからない 誰も、バグがないなんて思ってない? 1.8.6 レベルまで安定するのは、まだ先

まとめ Ruby 1.9 の開発は粛々と進んでいます。 Ruby 1.9.1 が十中八九12月に出ます。 どうぞ使ってください。

おしまい ご静聴ありがとうございました ささだこういち ko1@atdot.net