Skip to content

Instantly share code, notes, and snippets.

@analyticalmonk
Last active August 23, 2016 08:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save analyticalmonk/d58e7e472cf9b07c114592f92d055da3 to your computer and use it in GitHub Desktop.
Save analyticalmonk/d58e7e472cf9b07c114592f92d055da3 to your computer and use it in GitHub Desktop.
GSoC 2016 Work Product - Rperform: Performance analysis of R package code

Rperform: performance analysis for R package code

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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment