-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
performance profiling infrastructure #67
Comments
christoff-buerger
added this to the
RACR version 0.8.5: infrastructure edition (fortitudinem per suburbium et regionem) milestone
Sep 13, 2016
christoff-buerger
added a commit
that referenced
this issue
Sep 18, 2016
…ed make-table script adding command line argument checks. Also moved all profiling scripts in the profiling directory.
christoff-buerger
added a commit
that referenced
this issue
Sep 19, 2016
…ed make-measurements script adding command line options to select a profiling configuration and save a rerun script. Added sanity checks for provided arguments. Ensured, that temporary resources are properly created and cleaned up.
christoff-buerger
added a commit
that referenced
this issue
Sep 20, 2016
… that /dev/null as rerun script for make-measurements works (even as root). Also added the initialisation of generated rerun scripts.
christoff-buerger
added a commit
that referenced
this issue
Sep 26, 2016
…ecks for the types and values of measurement parameters (make-measurements script); integer value parameters now trigger iteration-step and -adjustment configurations and respective sanity checks of provided values.
christoff-buerger
added a commit
that referenced
this issue
Oct 7, 2016
…ript to parse profiling configurations and extended them with measurement result configuration section.
christoff-buerger
added a commit
that referenced
this issue
Oct 8, 2016
…surements.bash now handles not-a-number arguments.
christoff-buerger
added a commit
that referenced
this issue
Oct 10, 2016
…pport to specify an execution script to profiling configurations, the parsing of such extended configurations and the execution and logging of execution results in make-measurements.bash.
christoff-buerger
added a commit
that referenced
this issue
Nov 10, 2016
…ror column, indicating exceptions while profiling, to measurement tables. Respectively, make-measurements catches such exceptions. Profiling therefore now is robust; unexpected errors of profiled programs do not disrupt measurement tables and are properly logged.
christoff-buerger
added a commit
that referenced
this issue
Nov 12, 2016
… flag to make-measurements; the flag forces the script to fail if any measurement fails. Otherwise, the script executes all measurements, even if one fails.
christoff-buerger
added a commit
that referenced
this issue
Nov 15, 2016
…rofiling for atomic petrinets.
christoff-buerger
added a commit
that referenced
this issue
Nov 17, 2016
…age comment and error checks to run script for atomic petrinets profiling .
christoff-buerger
added a commit
that referenced
this issue
Nov 18, 2016
…ofiling scripts into separate directory (profiling-scripts) and shortened their names (make-measurements.bash -> measure.bash, make-table.bash -> record.bash, parse-profiling-configuration.bash -> configure.bash). The recording script now fixes the measurement table it uses in case the result pipline is premature empty like in case of user aborted measurements (for example via CTRL-C).
christoff-buerger
added a commit
that referenced
this issue
Nov 20, 2016
…abled analysis caching as parameter to the atomic petrinets profiling case study; it now can be turned on and off. Likewise, enabled analysis caching can now be triggered for the fUML Activity Diagrams example.
christoff-buerger
added a commit
that referenced
this issue
Nov 25, 2016
…tract.bash script, which can be used to extract rows from measurement tables according to constraints (work in progress).
christoff-buerger
added a commit
that referenced
this issue
Nov 29, 2016
…progress on extract script; added actual extraction code and split it in static and generated Scheme part.
christoff-buerger
added a commit
that referenced
this issue
Dec 3, 2016
…progress on extract script. It now also queries for error status, measurement date and result extraction operators. Several operators can be given for each column. The actual extraction script is generated as a temporary file, automatically deleted when finished.
christoff-buerger
added a commit
that referenced
this issue
Dec 3, 2016
…progress on extract script. All global extrema are extracted (if several rows share a global extrema, they are all preserved). Layout of measurement tables simplified to ease automatic processing and generation.
christoff-buerger
added a commit
that referenced
this issue
Jan 4, 2017
…rking version of extract script. Duplicated entries are now automatically deleted. Local extrema are considered equal if all their columns, ignoring measurement dates, are the same. This implies, that rows are extracted according to a local extrema, if, and only if, the value of the extrema column of a row is the min/max within the set of all rows whose column values are equal except the measurement date column. Global extrema do not have such a column-uniqueness selection criteria. Rows are extracted according to a global extrema when the value of their respective extrema column is the min/max within the set of ALL rows. In summary, a row is extracted if it satisfies ALL conditions of ALL its columns and, if there are any extrema selectors, has an extrema.
christoff-buerger
added a commit
that referenced
this issue
Feb 17, 2017
…g in extraction script regarding the selection of local extrema. Extraction is tested and working. Further, the measurement date is now the first parameter, whereas the status (aborted, failed, succeeded) is the first result; the columns of measurement tables are reordered accordingly.
christoff-buerger
added a commit
that referenced
this issue
Sep 16, 2019
…ucture (i.e., everything except visualisation: configuration language, test series generator, measurement browser).
christoff-buerger
added a commit
that referenced
this issue
Feb 28, 2020
… least one is given; it now also creates containing directories of the measurements table given via -t flag if such do not exist yet. Recording of measurement results now checks that the table given as target has -- in case it already exists -- a correct header considering the used profiling configuration.
christoff-buerger
added a commit
that referenced
this issue
Mar 1, 2020
christoff-buerger
added a commit
that referenced
this issue
Mar 21, 2020
…ectness w.r.t. the given profiling configuration (since extraction scripts already check all given source tables and recording will always produce correct tables, table integrity is always guaranteed even in in case of measurement abortion, errors or exceptional termination while measuring etc). The golden rule is: Tables are only updated iff everything is correctly configured, i.e., correct execution can be guaranteed, and resulting tables can be guaranteed to satisfy the given configuration.
christoff-buerger
added a commit
that referenced
this issue
May 4, 2020
…ew measurements or extraction results; table-integrity can also be checked explicitly via a new 'check-tables.bash' script. In case of errors, tables are never changed.
christoff-buerger
added a commit
that referenced
this issue
May 7, 2020
…s and the recording callee is now handled correctly and more robust and not anymore based on 'hopeful long enough sleep times to let the recording finish before killing it'.
christoff-buerger
added a commit
that referenced
this issue
May 14, 2020
christoff-buerger
added a commit
that referenced
this issue
Oct 27, 2021
christoff-buerger
added a commit
that referenced
this issue
Mar 12, 2022
…ite the first few elements if there are less than already existing new entries read (in case of measure.bash this was a bug because the array is read in a loop).
christoff-buerger
added a commit
that referenced
this issue
Sep 15, 2023
christoff-buerger
added a commit
that referenced
this issue
Dec 5, 2023
…Thh:mm:ssZ) format; this enables lexical ordering and standard conformant third party processing of dates.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Systematic Performance measurements are helpful to evaluate the automatic attribute caching of RACR, pinpoint improvement opportunities and track performance regressions. Scheme distributions often provide tools for detailed code profiling, like function execution and garbage collection times. The parameterisation of example applications for different usage scenarios with different performance-load characteristics like size of abstract syntax tree, number of attributes, size of attribute caches or frequency and impact of rewrites still has to be provisioned however. A generic performance profiling infrastructure, which enables the generation of test series according to user-specified program arguments and the classification and visualisation of respective measurement results, would be very useful.
The functionalities to provide are:
The text was updated successfully, but these errors were encountered: