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.

Douglas Mesquita is a Statistician currently working as a Software Developer at Appsilon. During his adventures as Data Scientist, he started using Shiny to present the results of complex models and findings in a friendly way for a regular audience. In his free time, he likes to act like an average person, explore the world, and play sports. However, his scientific vein often calls him, and he eventually writes some scientific papers.
Sun 3:03 am - 12:00 am
App, Douglas Mesquita