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