Warning, /sdk/kcachegrind/README is written in an unsupported language. File is not indexed.

0001 KCachegrind / QCachegrind
0002 -========================
0003 
0004 {K,Q}Cachegrind is a KDE/Qt GUI to visualize profiling data.
0005 It's mainly used as visualization frontend for data measured
0006 by Cachegrind/Callgrind tools from the Valgrind package, but
0007 there are converters for other measurement tools available.
0008 
0009 Features
0010 
0011 * direct support for profiles generated by Cachegrind/Callgrind
0012 * support for arbitrary event types and derived event types
0013 * sorted function list, with grouping according to ELF object/source
0014   file/symbol namespace (such as C++ classes)
0015 * correct handling of recursive cycles (similar to GProf)
0016 * various visualization views for a selected function, such as
0017   - treemap in caller/callee direction
0018   - call graph around function
0019   - source & assembly annotation
0020 
0021 
0022 Hmm. What is stuff good for?
0023 ----------------------------
0024 
0025 Any work in improving the performance of a program should be
0026 started with measuring the performance characteristics of the
0027 optimized binary, using representative input data. This process
0028 is called "Profiling". Any other way for performance optimization
0029 usually just wastes developer time.
0030 Profile measurements show whether optimization is needed at all,
0031 and what improvement can be expected. Further, it pinpoint at
0032 functions and source lines where most time is spent, i.e. where an
0033 improvement has most influence on allover runtime.
0034 
0035 {K,Q}Cachegrind visualizes profile measurement data. Example of an
0036 easy to use profile measurement tool (no source modifications and
0037 recompilation is required, as well as no root access) are the
0038 cache simulators Cachegrind and Callgrind from the Valgrind toolset.
0039 While {K,Q}Cachegrind directly supports the formats of these
0040 profiling tools, converters are available to allow to import data
0041 from other profiling tools, too.
0042 
0043 
0044 
0045 Compilation and Installation
0046 -===========================
0047 
0048 
0049 QCachegrind
0050 -----------
0051 
0052 Requirements:
0053 * Qt5.x (x >=2) (earlier versions not tested)
0054 * Any platform supported by Qt (Linux, Windows, Mac OS X, ...)
0055 
0056 Compilation (from base directory):
0057 
0058         qmake; make
0059 
0060 To not build in the source directories, do:
0061 
0062         mkdir build; cd build; qmake ../qcg.pro; make
0063 
0064 The build includes the command line tool "cgview".
0065 
0066 Copy the resulting "qcachegrind" binary from the build directory into
0067 your $PATH. For better desktop integration, it should be enough to
0068 copy the .desktop file and icons into standard places, such as:
0069 
0070         sudo install -m 755 qcachegrind/qcachegrind /usr/local/bin
0071         sudo install -m 644 qcachegrind/qcachegrind.desktop \
0072                 /usr/local/share/applications/
0073         sudo install -m 644 kcachegrind/hi32-app-kcachegrind.png \
0074                 /usr/local/share/icons/hicolor/32x32/apps/kcachegrind.png
0075         sudo install -m 644 kcachegrind/hi48-app-kcachegrind.png \
0076                 /usr/local/share/icons/hicolor/48x48/apps/kcachegrind.png
0077 
0078 
0079 KCachegrind
0080 ------------
0081 
0082 Requirements:
0083 * KF 5.12 or higher: Frameworks development packages (libs & headers)
0084 * CMake
0085 
0086 Commands (from base directory):
0087 
0088         cmake .; make; make install
0089 
0090 To not build in the source directories, do:
0091 
0092         mkdir build; cd build; cmake ..; make; make install
0093 
0094 The build also compiles the command line tool "cgview" and "qcachegrind",
0095 the Qt-only version of KCachegrind. However, these are not installed.
0096 If you want to also install qcachegrind, see instructions above.
0097 
0098 
0099 Usage & Help
0100 -===========
0101 
0102 {K,Q}Cachegrind has detailed "What's this?" help for
0103 each GUI part. For further help, see quick start pages
0104 on kcachegrind.sf.net
0105 
0106 
0107 
0108  Josef Weidendorfer