8:00 - 8:30 PM - Measuring performance improvement in Shiny apps
Douglas Mesquita
It is common to have performance issues in a Shiny application. Sometimes, it is due to a lack of knowledge on how to properly build the application, other times, it is because the application grew faster than expected and the structure is not the best anymore, or even technical debts were introduced during the development.
Performance issues can make users frustrated and as a result, the adoption can drop significantly. To avoid such a situation, developers are always trying to improve performance using several different techniques. However, we rarely know exactly what was the biggest source of improvement and how fast the application is compared to other versions. Also, most of the time, the performance is manually recorded which makes it difficult to reproduce the results or redo the analysis.
shiny.benchmark is a brand new Appsilon package that allows you to compare several different app’s versions in a very simple way. It can use two different engines to test the changes in the performance of your application: shinytest2 and Cypress. The main idea is to run a set of tests under different versions of an application (git refs). For each test and app version, shiny.benchmark will record the time elapsed to perform each task and return it for further analysis.
In this tutorial, I will teach you how to properly use shiny.benchmark through a simple example (document attached). Also, we will explore many functionalities of this package.