2014 Grant Accomplishment Report

The following three projects have been completed, and their deliverables have been accepted by the grant committee.

  • The Mikon Project
  • Threading Support for Byebug
  • RuJIT : a trace-based Just In Time compiler for CRuby

The summary of their final reports is as follows:

The Mikon Project

Naoki Nishida

# The Mikon Project
## Naoki Nishida

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 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

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

Masahiro Ide

The RuJIT is a trace-based just-in-time (JIT) compiler for CRuby. In this project, we provide RuJIT for high-speed execution of Ruby programs. We will implement the optimization technique for the Ruby language (e.g. block inlining). In addition, we will improve quality RuJIT code for practical use and compatibility.

The full version of Ide’s final report