Skip to content

GSoC 2012 Ruboto Performance and Tooling

akshay2047 edited this page Jul 2, 2012 · 4 revisions

Plan for Improving Ruboto

  1. First step is to measure current startup times of ruboto using apps like Ruboto Startup Timer & Ruboto Startup Server and to store this data into a database for later references. This step performed in the following steps:

      i)   Modifying the [ruboto startup  timer app](https://play.google.com/store/apps/details?id=org.ruboto.startup_timer&hl=en) to accept multiple benchmarks other than startup.
      ii)  Modifying the [heroku server](http://ruboto-startup.heroku.com/) accordingly to accept multiple benchmarks.
      iii) Selecting some core benchmarks and trying to integrate with the app. 
      iv)  Recording some entries at heroku startup server with the tests, so that later comparison can be done.
       v)  Trying to use some of the benchmarks that will be used by benchmarking project,  Dalvik compiler backend project and persistent IR format project. 
    
  2. Next step will be to improve startup time as follows:

    i) Analyzing Script.java and EntryPointActivity.java files to look for startup sepecific performance gain.

    ii) Analyzing JRuby itself for performance improvements. Looking at opportunities to minimize time taken by "load" and "require".

    iii) Trying to integrate Ruboto with Dalvik Compiler Backend GSoC project to explore possibilities of JIT(Just In Time) Compilation of load/require related code.

    iv) Integrating with the GSoC persistent IR project to speed up loading of code.

  3. Improving Basic GUI and making it more user-friendly. It will include designing mockups using some wire framing app and then implementing them.

  4. Keeping more example scripts in the Ruboto which update regularly over cloud. A JSON file will be kept over cloud which will be used for updating the scripts in Ruboto.

  5. Implementing Import functionality in the Ruboto to import the ruby scripts available in the phone.

  6. Trying to look for possibilities of AOT compilation for Ruboto.

Clone this wiki locally