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