GSoC 2016 Report – Rperform

[This article was first published on R – Tech and Mortals, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

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.


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

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.

To leave a comment for the author, please follow the link and comment on their blog: R – Tech and Mortals. offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)