GSoC 2016 Report – Rperform

Datetime:2016-08-23 05:09:10          Topic: R Program           Share

Developer : Akash Tandon

Mentors : Joshua Ulrich , Toby Dylan Hocking

Official Project Link : Rperform: performance analysis of R package code

This project meant to deal primarily with development of Rperform’s functionalities to allow developers to obtain potential performance impacts of a pull request (PR) without having to merge, extension of the package’s existing performance metric measurement and visualization functions, and development of a coherent user interface for developers to interact with.

About Rperform

Rperform is a package that allows R developers to track and visualize quantitative performance metrics of their code.

It focuses on providing changes in a package’s performance metrics, related to runtime and memory, over different git versions and across git branches. Rperform can be integrated with Travis-CI to do performance testing during Travis builds by making changes to the repo’s .travis.yml file. It can prove to be particularly useful while measuring the possible changes which can be introduced by a pull request (PR).

More information about the package can be found on its Github Wiki .

Contributions during GSoC 2016

Overview of work done during GSoC 2016

  • Visualization : Implemented plot_branchmetrics() and its helper functions. This function can be used to compare code performance across two branches. More information about the same can be found here .
  • Travis CI integration : Wrote functions and shell scripts to allow for performance testing using Rperform during a package repo’s Travis CI builds. More information about using Rperform with Travis CI can be found by going through this wiki page and this tutorial .
  • Refactoring : Refactored portions of existing code.
  • Documentation : Updated the R package’s documentation and Github wiki.

Road ahead for Rperform

  • Interactive visualizations : Work was done towards implementing interactive visualizations in Rperform. The animint package  was used for the same. However, more work needs to be done.
  • User Interface : As of now, the webpages containing results from performance tests during Travis builds are static. Work needs to be done towards implementing a coherent UI.

Miscellaneous

  • Commits made to RperformTestPackage during GSoC 2016: #1 , #2 , #3 , #4 , #5 , #6 , #7 and #8 .

Note:
This report is also available as a Github gist .
If you read and liked the report, sharing it would be a good next step.
Drop me a mail , or hit me up on Twitter or Quora in case you want to get in touch.





About List