GSoC 2016 Report – Rperform

August 23, 2016

(This article was first published on R – Tech and Mortals, and kindly contributed to R-bloggers)

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 on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...

If you got this far, why not subscribe for updates from the site? Choose your flavor: e-mail, twitter, RSS, or facebook...

Comments are closed.


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)