• Home
  • History
  • Annotate
  • only in /external/lldb/tools/lldb-perf/
History log of /external/lldb/tools/lldb-perf/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
17a9d265c78823373cd36890f8b0f63e96d223c8 03-May-2013 Enrico Granata <egranata@apple.com> <rdar://problem/13732521>

Updated the logic for the Sketch test case

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180966 91177308-0d34-0410-b5e6-96231b3b80d8
arwin/sketch/sketch.cpp
b6bac2a4c964ecd70aae70bc5b24b0f87e6d5344 22-Apr-2013 Enrico Granata <egranata@apple.com> Proper English not optional

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180053 91177308-0d34-0410-b5e6-96231b3b80d8
ommon/clang/lldb_perf_clang.cpp
102b2c2681c9a830afe25bfea35557421905e42c 19-Apr-2013 Greg Clayton <gclayton@apple.com> After discussing with Chris Lattner, we require C++11, so lets get rid of the macros and just use C++11.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@179805 91177308-0d34-0410-b5e6-96231b3b80d8
ib/Gauge.cpp
ib/MemoryGauge.cpp
ib/Results.cpp
ib/Results.h
0b10ef61ea60e24fe7736cd98bd5fb45efe9c816 18-Apr-2013 Greg Clayton <gclayton@apple.com> Missed some cases when switching over to using our STD_UNIQUE_PTR macros.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@179796 91177308-0d34-0410-b5e6-96231b3b80d8
ib/Gauge.cpp
ib/MemoryGauge.cpp
ib/Results.cpp
ib/Results.h
442b3f60c3569eb2445df8c72065a93a44bf97bf 16-Apr-2013 Enrico Granata <egranata@apple.com> New CallNext action for the test case that causes the next action in the sequence to be called right away

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@179578 91177308-0d34-0410-b5e6-96231b3b80d8
ib/TestCase.cpp
ib/TestCase.h
177ac0db135db53edd2c6158d8e3190d2e78b566 15-Apr-2013 Enrico Granata <egranata@apple.com> More updates to test cases

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@179560 91177308-0d34-0410-b5e6-96231b3b80d8
ommon/clang/lldb_perf_clang.cpp
ommon/stepping/lldb-perf-stepping.cpp
ldbperf.xcodeproj/project.pbxproj
4d77c182b3b4fd418ccb488469aa18262bfe481b 15-Apr-2013 Enrico Granata <egranata@apple.com> Sketch test now runs 10 times
Data formatters test outputs stddev

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@179559 91177308-0d34-0410-b5e6-96231b3b80d8
arwin/formatters/formatters.cpp
arwin/sketch/sketch.cpp
ec87e5c098f1ce1c9182d1c5438e0beca0996597 15-Apr-2013 Enrico Granata <egranata@apple.com> Enabling test case to write the average+stddev pair to the results
The sketch test case writes avg+stddev for all its metrics:
<key>fetch-frames</key>
<dict>
<key>description</key>
<string>time to dump backtrace for every frame in every thread</string>
<key>stddev</key>
<real>0.006270938361432314</real>
<key>value</key>
<real>0.011568079851851851</real>
</dict>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@179550 91177308-0d34-0410-b5e6-96231b3b80d8
arwin/sketch/sketch.cpp
ib/Measurement.h
ib/Metric.cpp
ib/Metric.h
ib/Results.cpp
ib/Results.h
b8158c8227c34b0fde91cf8602003f250bead007 15-Apr-2013 Enrico Granata <egranata@apple.com> - Adding a relaunch feature to the performance tester: you can use the relaunch if you want to measure multiple runs of your app keeping the same metrics alive. New arguments must be supplied - and the step counter will not be reset (this makes it easy to avoid endless loops)
- Having the Sketch test case relaunch itself

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@179548 91177308-0d34-0410-b5e6-96231b3b80d8
arwin/sketch/sketch.cpp
ib/TestCase.cpp
ib/TestCase.h
6e792e9565c78f96ef5e0e36d467f724fd4efbf2 12-Apr-2013 Enrico Granata <egranata@apple.com> Sketch test case improvements:
- use the TestCase option parsing
- dump output to stdout when no file is provided

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@179415 91177308-0d34-0410-b5e6-96231b3b80d8
arwin/sketch/sketch.cpp
7905badf63cdca9b5eb26a81976edcaf67890c92 11-Apr-2013 Enrico Granata <egranata@apple.com> Updated the line on which to break for the formatters test

Moving over to source-regex might be a good idea, but it’s not what we really want to test. Ideally, we would set a regex breakpoint to find the right line, then delete it and set one by file and line with the right line info from before.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@179246 91177308-0d34-0410-b5e6-96231b3b80d8
arwin/formatters/formatters.cpp
3f2f741bb533b78e2fac5332c4698338ea2fd3ac 04-Apr-2013 Greg Clayton <gclayton@apple.com> <rdar://problem/13457391>

LLDB now can use a single dash for all long options for all commands form the command line and from the command interpreter. This involved just switching all calls from getopt_long() to getopt_long_only().



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178789 91177308-0d34-0410-b5e6-96231b3b80d8
ommon/clang/lldb_perf_clang.cpp
ommon/stepping/lldb-perf-stepping.cpp
arwin/sketch/sketch.cpp
08257e457b2aab6453618cb64c033e5a64115da1 02-Apr-2013 Enrico Granata <egranata@apple.com> Enabling metrics to calculate (and dump) their standard deviation

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178580 91177308-0d34-0410-b5e6-96231b3b80d8
ib/Measurement.h
ib/MemoryGauge.cpp
ib/MemoryGauge.h
ib/Metric.cpp
ib/Metric.h
101a2d6d590b12f9647032d656a13d3d7c432038 02-Apr-2013 Enrico Granata <egranata@apple.com> Misc fixes:
- make an overload of Launch() that takes an init list of const char* if all you need to tweak in the launch info are the command-line arguments
- make Run() return an int that you can use as an exit-code
- make dynamic values work properly when recursing in FetchVariables()
- make the po output more obvious in verbose mode

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178578 91177308-0d34-0410-b5e6-96231b3b80d8
ib/TestCase.cpp
ib/TestCase.h
ib/Xcode.cpp
b1b36ec6dcfbe7c7dfa423d50cb7c2296deca68e 01-Apr-2013 Enrico Granata <egranata@apple.com> Integrating option parsing in TestCase for added convenience
To hook it up to individual test cases:
- define GetLongOptions() in your test case class to return something other than NULL (hopefully an array of options :-)
- implement ParseOption() to check for the short option char and do the right thing - return true at the end if you want more options to come your way or false if you don’t
- make sure that your Setup() call takes int& and char**& so that optind post-processing can happen - and call TestCase::Setup from your setup

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178482 91177308-0d34-0410-b5e6-96231b3b80d8
ommon/clang/lldb_perf_clang.cpp
ommon/stepping/lldb-perf-stepping.cpp
arwin/formatters/formatters.cpp
arwin/sketch/sketch.cpp
ib/TestCase.cpp
ib/TestCase.h
51a53958518a1b2aa4b8c37276dcc3a2516c00a5 01-Apr-2013 Enrico Granata <egranata@apple.com> Proper option parser for the Sketch test case

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178477 91177308-0d34-0410-b5e6-96231b3b80d8
arwin/sketch/sketch.cpp
952e9dc874944fcdbbb224f3ec4fc2c859376f64 28-Mar-2013 Greg Clayton <gclayton@apple.com> <rdar://problem/13521159>

LLDB is crashing when logging is enabled from lldb-perf-clang. This has to do with the global destructor chain as the process and its threads are being torn down.

All logging channels now make one and only one instance that is kept in a global pointer which is never freed. This guarantees that logging can correctly continue as the process tears itself down.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178191 91177308-0d34-0410-b5e6-96231b3b80d8
ommon/clang/lldb_perf_clang.cpp
1a6ca000a8cbea0bdf736ed3f2615628bfd32e46 27-Mar-2013 Greg Clayton <gclayton@apple.com> <rdar://problem/13327940>

Cleaned up some paths.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178177 91177308-0d34-0410-b5e6-96231b3b80d8
ommon/clang/lldb_perf_clang.cpp
d31cd4aa3d1b311a940eb3543f018aace0ba9716 27-Mar-2013 Greg Clayton <gclayton@apple.com> Added a source file needed for clang to compile in the lldb_perf_clang test.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178176 91177308-0d34-0410-b5e6-96231b3b80d8
ommon/clang/main.cpp
2bba866ae44707183679c1b974409d6386a76bac 27-Mar-2013 Greg Clayton <gclayton@apple.com> <rdar://problem/13327940>

Enhance automated testing to include evaluating function calls.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178175 91177308-0d34-0410-b5e6-96231b3b80d8
ommon/clang/lldb_perf_clang.cpp
ec1799a439c74497f64206b30d3e3c0e4e775317 27-Mar-2013 Greg Clayton <gclayton@apple.com> Prune more stuff out of the build and source folders after building clang.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178112 91177308-0d34-0410-b5e6-96231b3b80d8
ommon/clang/build-clang.sh
981aa57c416161574eb5a2f8e1e77d0d94de1e96 26-Mar-2013 Greg Clayton <gclayton@apple.com> Cleaned up how LLDB.framework was being linked to and also how the target dependencies.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178085 91177308-0d34-0410-b5e6-96231b3b80d8
ldbperf.xcodeproj/project.pbxproj
aa08062b169a51f3334a662f14f5ea2c626b7d13 26-Mar-2013 Greg Clayton <gclayton@apple.com> Trim the output build folder a bit to it isn't so large.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178070 91177308-0d34-0410-b5e6-96231b3b80d8
ommon/clang/build-clang.sh
094e2a9b484381bd35d95090c7501b1e3880e92f 26-Mar-2013 Jim Ingham <jingham@apple.com> Change the stepping test to output "total time" for the step as well.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178043 91177308-0d34-0410-b5e6-96231b3b80d8
ommon/stepping/lldb-perf-stepping.cpp
ldbperf.xcodeproj/project.pbxproj
0b51bed6fbaa9d63730d54a2891e9d73d5bec773 26-Mar-2013 Jim Ingham <jingham@apple.com> Make the stepping perf test case actually work.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177964 91177308-0d34-0410-b5e6-96231b3b80d8
ommon/stepping/lldb-perf-stepping.cpp
ommon/stepping/stepping-testcase.cpp
ldbperf.xcodeproj/project.pbxproj
073ce1767f25e16be65e2835092c0d2d51ee599a 23-Mar-2013 Greg Clayton <gclayton@apple.com> Added better measurements to test:
- memory delta and time for: target create
- memory delta and time for: setting breakpoint at main by name
- time to launch and hit bp at main
- overall memory of target create + bp main + run to main
- ovarall time of target create + bp main + run to main



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177808 91177308-0d34-0410-b5e6-96231b3b80d8
ommon/clang/lldb_perf_clang.cpp
1c31631dfbaacaf9ef61f45977fae0b29fdad1d2 23-Mar-2013 Greg Clayton <gclayton@apple.com> Make sure the "Release" builds link against the "Release" LLDB.framework and also output the results to /dev/stdout when no outfile is supplied.




git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177791 91177308-0d34-0410-b5e6-96231b3b80d8
ommon/clang/lldb_perf_clang.cpp
ib/Results.cpp
ldbperf.xcodeproj/project.pbxproj
ca107c2f633f71fff71f65697d5c9b0827544c31 22-Mar-2013 Greg Clayton <gclayton@apple.com> Added option parsing to the lldb_perf_clang performance test.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177759 91177308-0d34-0410-b5e6-96231b3b80d8
ommon/clang/lldb_perf_clang.cpp
d2c50b1793f69af4d09b5ba364dc0a1a88ec26f5 22-Mar-2013 Greg Clayton <gclayton@apple.com> More cleanup to remove the CoreFoundation classes out of mainstream code (CFCMutableDictionary, CFCMutableArray, CFCString, etc). Now it is only used in the Results.cpp file for Apple builds only.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177697 91177308-0d34-0410-b5e6-96231b3b80d8
ib/Gauge.h
ib/Measurement.h
ib/Metric.cpp
ib/Metric.h
ib/Timer.cpp
9de4dec874148d30cc1d4c498d38cd048a8164ca 22-Mar-2013 Greg Clayton <gclayton@apple.com> Much more cleanup on the performance testing infrastructure:
- Added new abtract Results class to keep CoreFoundation out of the tests. There are many subclasses for different settings:
Results::Result::Dictionary
Results::Result::Array
Results::Result::Unsigned
Results::Result::Double
Results::Result::String
- Gauge<T> can now write themselves out via a templatized write to results function:
template <class T>
Results::ResultSP GetResult (const char *description, T value);

- There are four specializations of this so far:
template <>
Results::ResultSP GetResult (const char *description, double value);

template <>
Results::ResultSP GetResult (const char *description, uint64_t value);

template <>
Results::ResultSP GetResult (const char *description, std::string value);

template <>
Results::ResultSP GetResult (const char *description, MemoryStats value);
- Don't emit the virtual memory reading from the task info call as it really doesn't mean much as it includes way too much (shared cache + other stuff we don't have control over)
- Fixed other test cases to build correctly and use the new classes



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177696 91177308-0d34-0410-b5e6-96231b3b80d8
ommon/clang/build-clang.sh
ommon/clang/lldb_perf_clang.cpp
ommon/stepping/lldb-perf-stepping.cpp
arwin/formatters/formatters.cpp
arwin/sketch/sketch.cpp
ib/Gauge.cpp
ib/Gauge.h
ib/Measurement.h
ib/MemoryGauge.cpp
ib/MemoryGauge.h
ib/Metric.cpp
ib/Metric.h
ib/Results.cpp
ib/Results.h
ib/TestCase.cpp
ib/TestCase.h
ib/Timer.cpp
ib/Timer.h
ldbperf.xcodeproj/project.pbxproj
a3df3b0c89ab584262098f8d877e8a72e3614a08 21-Mar-2013 Jim Ingham <jingham@apple.com> The outline of the stepping perf test case, doesn't do anything yet.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177646 91177308-0d34-0410-b5e6-96231b3b80d8
ommon/stepping/lldb-perf-stepping.cpp
ommon/stepping/stepping-testcase.cpp
ldbperf.xcodeproj/project.pbxproj
d3a8d6565ff40fd99533f50a085ace806a9300ee 21-Mar-2013 Greg Clayton <gclayton@apple.com> Add correct file headers to all source files.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177625 91177308-0d34-0410-b5e6-96231b3b80d8
arwin/formatters/fmts_tester.mm
arwin/formatters/formatters.cpp
arwin/sketch/sketch.cpp
ib/Gauge.h
ib/Measurement.h
ib/MemoryGauge.cpp
ib/MemoryGauge.h
ib/Metric.cpp
ib/Metric.h
ib/TestCase.cpp
ib/TestCase.h
ib/Timer.cpp
ib/Timer.h
ib/Xcode.cpp
ib/Xcode.h
75fc5a74d95804e2ddc87bcade177640521147e0 21-Mar-2013 Greg Clayton <gclayton@apple.com> Modify code to adhere to LLDB coding conventions.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177623 91177308-0d34-0410-b5e6-96231b3b80d8
arwin/formatters/formatters.cpp
ib/Gauge.h
ib/Measurement.h
ib/MemoryGauge.cpp
ib/MemoryGauge.h
ib/Metric.cpp
ib/Metric.h
ib/TestCase.h
ib/Timer.cpp
ib/Timer.h
2d098408c757270ad1ae36475ab8300ecc1d3bc6 21-Mar-2013 Greg Clayton <gclayton@apple.com> Added a lldb-perf test case that will be used to time various aspects of debugging clang with LLDB.

This test case will measure memory usage and expression timings in frame zero and at higher frames.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177617 91177308-0d34-0410-b5e6-96231b3b80d8
ommon/clang/build-clang.sh
ommon/clang/lldb_perf_clang.cpp
ldbperf.xcodeproj/project.pbxproj
21ac3cbd69627081b1b35f1ff3fa50e72f751455 21-Mar-2013 Enrico Granata <egranata@apple.com> Making a manual mode of operation for measurements, where you can manually call start() and stop() instead of using the function-call syntax
This is especially useful to take measurements that span multiple test steps, or where you need to have different operations fall under the same measurement

An example of use is in the formatters perf test case

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177597 91177308-0d34-0410-b5e6-96231b3b80d8
arwin/formatters/formatters.cpp
ib/Measurement.h
e62d448f4b663edfac26b9071323606b1b5fdc1d 20-Mar-2013 Enrico Granata <egranata@apple.com> Making the test step count a member variable so that it can be accessed easily

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177594 91177308-0d34-0410-b5e6-96231b3b80d8
ib/TestCase.cpp
ib/TestCase.h
3ffb7ed9e634aabc330acdb4a369646caa08c6a2 20-Mar-2013 Enrico Granata <egranata@apple.com> Renaming perf. main files from main.cpp to something meaningful

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177587 91177308-0d34-0410-b5e6-96231b3b80d8
arwin/formatters/formatters.cpp
arwin/formatters/main.cpp
arwin/sketch/main.cpp
arwin/sketch/sketch.cpp
ldbperf.xcodeproj/project.pbxproj
53bba61c0b9f3b3ceff5835f79d61efa0d81847c 20-Mar-2013 Enrico Granata <egranata@apple.com> Making MemoryGauge work by fixing a Mach API call mistake - saving (and dumping) more information out of the task_info call

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177580 91177308-0d34-0410-b5e6-96231b3b80d8
ib/Measurement.h
ib/MemoryGauge.cpp
ib/MemoryGauge.h
ib/Metric.cpp
ib/Metric.h
ib/TestCase.h
2002c030ded5da1adf38ceb76a7f393baa7a87e3 19-Mar-2013 Greg Clayton <gclayton@apple.com> Update Sketch test case to capture this and use accessors for debugger, target, process and thread.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177425 91177308-0d34-0410-b5e6-96231b3b80d8
arwin/sketch/main.cpp
ib/TestCase.h
91c570abdc2eb7f0d9bc5affb086d515838ebc39 19-Mar-2013 Greg Clayton <gclayton@apple.com> More cleanup on the lldb-perf code:
- TestCase.m_thread is now filled in with the first thread that has a valid
stop reason. This eliminates the need for the SelectMyThread() functions.
- The first thread that stops for a reason is also set as the selected thread
in the process in case any command line commands are run.
- Changed launch over to take a SBLaunchInfo parameter so that the launch
function doesn't keep getting new arguments as they are needed.
- TestCase::Setup() and TestCase::Launch(SBLaunchInfo) now return bool to
indicate success of setup and launch.
- ActionWanted::Next(SBThread) was renamed to ActionWanted::StepOver(SBThread)
- ActionWanted::Finish(SBThread) was renamed to ActionWanted::StepOut(SBThread)




git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177376 91177308-0d34-0410-b5e6-96231b3b80d8
EADME
arwin/formatters/main.cpp
arwin/sketch/main.cpp
ib/TestCase.cpp
ib/TestCase.h
ib/Xcode.cpp
ldbperf.xcodeproj/project.pbxproj
535f53c8795b3592ce835804af5cef89be39ceea 19-Mar-2013 Greg Clayton <gclayton@apple.com> <rdar://problem/13443931>

Fixed a crasher in the SourceManager where it wasn't checking the m_target member variable for NULL.

In doing this fix, I hardened this class to have weak pointers to the debugger and target in case they do go away. I also changed SBSourceManager to hold onto weak pointers to the debugger and target so they don't keep objects alive by holding a strong reference to them.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177365 91177308-0d34-0410-b5e6-96231b3b80d8
ldbperf.xcodeproj/project.pbxproj
5ae5ae08c86bf7154f2bef8aab7f05ab40c38559 19-Mar-2013 Greg Clayton <gclayton@apple.com> Fixed the README to match the current code.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177346 91177308-0d34-0410-b5e6-96231b3b80d8
EADME
6fd501049a72c5232eac177db345abbf691929c3 19-Mar-2013 Jim Ingham <jingham@apple.com> Add a comment about how to add a target for a test case.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177343 91177308-0d34-0410-b5e6-96231b3b80d8
EADME
788bb8dc33510d72011461808f4282a524086121 19-Mar-2013 Jim Ingham <jingham@apple.com> Move the performance test cases into their own project.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177341 91177308-0d34-0410-b5e6-96231b3b80d8
ldbperf.xcodeproj/project.pbxproj
af222500aa2ce2b18149277e561cdf75f2115df2 18-Mar-2013 Greg Clayton <gclayton@apple.com> Code cleanup:
- don't use preprocessor macros
- use switch statements
- don't put anything in the lldb namespace, use "lldb_perf" namespace.
- Pass the action struct into each TestStep() for each step fill in
- Modify the ActionWanted class to have accessors to make the continue, next, finish, kill instead of using preproc macros



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177332 91177308-0d34-0410-b5e6-96231b3b80d8
arwin/formatters/main.cpp
arwin/sketch/main.cpp
ib/Gauge.h
ib/Measurement.h
ib/MemoryGauge.cpp
ib/MemoryGauge.h
ib/Metric.cpp
ib/Metric.h
ib/TestCase.cpp
ib/TestCase.h
ib/Timer.cpp
ib/Timer.h
ib/Xcode.cpp
ib/Xcode.h
7a969e6e313a9c93cc4d4b920a41ef9e8b40ecc4 14-Mar-2013 Enrico Granata <egranata@apple.com> Make a README file with an introduction and basic directions for the lldb-perf infrastructure

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177109 91177308-0d34-0410-b5e6-96231b3b80d8
EADME
c50fc4b658c46ef43b1add131391ecdd1f9bd752 14-Mar-2013 Enrico Granata <egranata@apple.com> <rdar://problem/13228487>

A test case for the performance of some LLDB formatters
Changes and improvements to the testing infrastructure itself



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177100 91177308-0d34-0410-b5e6-96231b3b80d8
arwin/formatters/fmts_tester.mm
arwin/formatters/main.cpp
arwin/sketch/foobar.sketch2
arwin/sketch/main.cpp
ib/Measurement.h
ib/Metric.cpp
ib/Metric.h
ib/TestCase.cpp
ib/TestCase.h
ib/Xcode.cpp
385a5047fadd153639681704eb5711db9701350f 08-Mar-2013 Enrico Granata <egranata@apple.com> Dump the measurements directly instead of getting their metrics first
(this code needs to be pushed up so that in the basic scenarios TestCase knows to dump all its measurements directly)

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@176718 91177308-0d34-0410-b5e6-96231b3b80d8
arwin/sketch/main.cpp
f5af85a2946ed4e1ff4766829d328cfb4961f259 08-Mar-2013 Enrico Granata <egranata@apple.com> Initial checkin of a new project: LLDB Performance Testing Infrastructure

This is a very basic implementation of a library that easily allows to drive LLDB.framework to write test cases for performance

This is separate from the LLDB testsuite in test/ in that:
a) this uses C++ instead of Python to avoid measures being affected by SWIG
b) this is in very early development and needs lots of tweaking before it can be considered functionally complete
c) this is not meant to test correctness but to help catch performance regressions

There is a sample application built against the library (in darwin/sketch) that uses the famous sample app Sketch as an inferior to measure certain basic parameters of LLDB's behavior.
The resulting output is a PLIST much like the following:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<dict>
<key>fetch-frames</key>
<real>0.13161715522222225</real>
</dict>
<dict>
<key>file-line-bkpt</key>
<real>0.029111678750000002</real>
</dict>
<dict>
<key>fetch-modules</key>
<real>0.00026376766666666668</real>
</dict>
<dict>
<key>fetch-vars</key>
<real>0.17820429311111111</real>
</dict>
<dict>
<key>run-expr</key>
<real>0.029676525769230768</real>
</dict>
</array>
</plist>

Areas for improvement:
- code cleanups (I will be out of the office for a couple days this coming week, but please keep ideas coming!)
- more metrics and test cases
- better error checking

This toolkit also comprises a simple event-loop-driven controller for LLDB, similar yet much simpler to what the Driver does to implement the lldb command-line tool.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@176715 91177308-0d34-0410-b5e6-96231b3b80d8
arwin/sketch/main.cpp
ib/Gauge.h
ib/Measurement.h
ib/MemoryGauge.cpp
ib/MemoryGauge.h
ib/Metric.cpp
ib/Metric.h
ib/TestCase.cpp
ib/TestCase.h
ib/Timer.cpp
ib/Timer.h
ib/Xcode.cpp
ib/Xcode.h