appsilon / shiny.benchmark Goto Github PK
View Code? Open in Web Editor NEWTools to measure performance improvements in shiny apps
Home Page: https://appsilon.github.io/shiny.benchmark/
Tools to measure performance improvements in shiny apps
Home Page: https://appsilon.github.io/shiny.benchmark/
Fix the current status of the package to make it easier to maintain.
It seems that without these libraries the code just freeze
Right now git2r is not needed since most of the git functions are done by system("code")
and we only need simple functions. With time we may need some more complex solutions and then we can reconsider using git2r. Right now it is only increasing complexity.
Just use the name to user choose
For some reason the last test in the Cypress list of tests does not works. It does not appear in the final list of time measurements.
Let's use shiny.beanchmark instead of shiny.performance
Currently only Cypress tests are available. However, it is possible to create tests using R purely through shinytest2
.
Functions like system(cp -r folder1 folder2)
are more likely to work on linux. Try to use file.copy
and file.symlink
instead
If the current branch has uncommitted work, git checkout branch_name
will fail. The message is not too informative so it is better to test it in advance to show the user a nice message about the problem.
We do not want to compare performance of all the tests (normally). We should be able to identify which tests are needed for the performance check and which ones are not.
Break the functions into smaller ones and add tests when necessary
The beta version has some lint issues. Fix it using linter package and keep it organized for the further implementions
Try to use the word benchmark to create the idea of replications and comparison
Add PR template based on Appsilon standard
Add information such as:
stop("You must provide 1 or {n_commits} paths for {obj_name}")
should be stop(glue("You must provide 1 or {n_commits} paths for {obj_name}"))
Failing tests: https://github.com/Appsilon/shiny.benchmark/actions/runs/3361979812/jobs/5573090092
PR comments: #79 (comment)
It would be great to clean the files after executing the tests. Currently, if n_rep is greater than 5, it freezes my computer.
Run the tests on different OS:
Right now it is impossible to run the tests in silent mode. It will be better to have something like options(shiny.performance.logs = "debug")
info, error and so on...
Provide an example to show basic functionalities of the package. Do not run it during CRAN checks.
The package already have several functions but do not have any tests. Tests are important to make sure that new developed functionalities are not messing the previous ones.
Right now the 1/n message basically does not appear
Test can fail because of different problems e.g.:
We should be able to inform the user the source of the error
It should be a Quarto template. The main idea is to have a wrapper like shiny.performance::create_report("path_to_report.md")
and shiny.performance::render_report("path_to_report.md")
. This way, the user can edit the path_to_report.md
file instead of just observing the result.
Double check documentation and be sure it is clear enough for users
It is a little bit trick to test the functionalities of this package since we need an application and several branches with different setups. Therefore, it would be great to create a script able to setup an example application and all the characteristics desired (renv/no renv, single file/multiple files, no repetition/several repetitions, ...).
Implement function:
Sent an error message if renv is not in use in a specific branch
Update repo name so GitHub actions can run the tests properly
Animals:
List of the fastest animals in the earth:
https://en.wikipedia.org/wiki/Fastest_animals#:~:text=10%20References-,Fastest%20organism,conflicting%20reports%20of%20recorded%20speeds.
Peregrine Falcon - Fastest animal on earth
Cheetah - Fastest land animal on earth
Package name:
shiny.beanchmark
shiny.performance
Color:
Red (#FF0000) is the fastest color in a vacuum space
Violet (#8F00FF) is the slowest color in a vacuum space
f <- colorRampPalette(colors = c("#FF0000", "#8F00FF"))
f(3)[2]
Allow user to provide:
When we run the tests only once, we do not have any idea about the variability of the execution times. We should be able to run the tests as many times as requested.
Avoid double messages related to switching branches
We do not want to add/remove files from the current git folder. In this case, it is preferable to run all the tests in a temporary folder. It will work unless we have hard coded paths in the application.
Be sure parameters are intuitive
Add GitHub actions to run lint and package check
Add requested packages and fix meta information
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.