-
Notifications
You must be signed in to change notification settings - Fork 3
A tool that statically evaluates source code commit's risk of introducing performance regression
License
ryanphuang/perfscope
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
NOTE: This repository is an unstable version to be cleaned/refactored. This is the source tree for PerfScope, a neat tool for analyzing given patch's performance impact to existing source repository. PerfScope is a research project from the [Opera Research Group]( http://opera.ucsd.edu) in University of California, San Diego. It consists of several parts to operate: - Parser: parses the patch file for information like what file(s) are modified, which location does it lie, etc. Located: -- lib/parser/PatchCompiler, Debug+Asserts/bin/patch-c -- lib/parser/PatchIRDecoder, library - Mapper: maps the change location in source file to the corresponding programming constructs. Located: -- lib/mapper, library - Filter: prunes out insignificant changes such as stylish changes or renaming. Located: -- tools/PerfDiff, Debug+Asserts/bin/perfdiff - Profile Database: contains a list of frequent or expensive functions. White-list functions can also be added to the profile. Located: -- data - Analyzer: performs Performance Risk Analysis (PRA) on given commit. Located: -- tools/PerfScope, Debug+Asserts/bin/perfscope - TestDB: tracks performance test cases execution information to further recommend which test case may be useful to uncover the performance regression issues. (work in progress) Two auxiliary tools: - ListFiles: list the file names and paths in a given module. Located: -- tools/ListFiles, Debug+Asserts/lib/LLVMListFiles.so - StaticProfiler: generate a list of expensive and frequent functions based on static analysis. Located: -- tools/StaticProfiler, Debug+Asserts/bin/staticprofiler Most of the tools have a separate README in their location and its usages can be found using -h option. For bug report or any other suggestion, please contact [email protected].
About
A tool that statically evaluates source code commit's risk of introducing performance regression
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published