2014年度助成金成果報告

2014年度助成金では、以下の3つのプロジェクトを実施しました。各プロジェクトの成果は、助成委員会の評価を受けました。

  • RuJIT : a trace-based Just In Time compiler for CRuby
  • DataFrameの開発による科学用途のgem開発の促進
  • Threading Support for Byebug

以下、概要となります。

RuJIT : a trace-based Just In Time compiler for CRuby

井出真広

RuJITはCRuby処理系向けJust InTime(JIT)コンパイラである. RuJITは,トレース方式JITコンパイル手法をRuby処理系上に構築し,CRuby処理系の処理性能向上を目指している.1Rubyアソシエーションの2014年度助成金事業において、我々はCRuby処理系向けJITコンパイラ,RuJITの構築をゴールとし.新たなコンパイラ用中間表現,トレース選択器の実装,そして既知のコンパイラ最適化手法の実装を行い,実行速度の改善を行った.

Full Final Report

The full version of Ide’s final report

DataFrameの開発による科学用途のgem開発の促進

西田直樹

The Mikon Project provides an useful interface to tools for data analysis like Statsample and ones for visualization like Nyaplot.

The summary of works during the grant period is shown as below:

* New DataFrame gem Mikon has become available
* Bidirectional communication between IRuby kernel and JavaScript front-end has been implemented
* Plotting library Nyaplot has been totally re-designed and the interactive analysis with GUI on IRuby is now available

Project websites

* Mikon
* Nyaplot
* IRuby
* Double Pendulum Simulator on IRuby notebook

Examples

* Demo of Mikon #1
* Demo of Mikon #2
* Demo of Mikon #3
* Demo of IRuby::Widget
* Movie on YouTube

Installation

The Docker image that contains all products of the project is available on DockerHub.

To install Mikon into your environment, install NMatrix at first and then run gem install mikon.
The installation method of NMatrix is available on GitHub wiki.

The newest version of Nyaplot is v0.2.0.rc1, so run gem install nyaplot --pre to try out new features.

Full Final Report

The full version of the Nishida’s final report

Threading Support for Byebug

Deivid Rodriguez

“Byebug’s thread debugging support allow users to debug multithreaded programs: switching between threads, pausing and resuming specific threads, listing active threads and so on. It can be a good “deadlock debugging” tool but also a nice tool for a first approach to concurrency and multithreaded programs. Finally, the feature also fixes previous bugs when debugging code dependent on certain libraries making use of threads.”

Full Final Report

The full version of the Deivid’s final report