-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathREADME
More file actions
51 lines (40 loc) · 1.87 KB
/
README
File metadata and controls
51 lines (40 loc) · 1.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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].