0
0
mirror of https://github.com/yse/easy_profiler.git synced 2024-12-27 08:41:02 +08:00

Update README

This commit is contained in:
Sergey Yagovtsev 2016-08-31 22:47:17 +03:00
parent 3a2c8aaef1
commit 887d7f5244

View File

@ -1,12 +1,58 @@
# easy_profiler [![License](https://img.shields.io/badge/license-GPL3-blue.svg)](https://github.com/yse/easy_profiler/blob/develop/COPYING)[![Build Status](https://travis-ci.org/yse/easy_profiler.svg?branch=develop)](https://travis-ci.org/yse/easy_profiler) # easy_profiler [![License](https://img.shields.io/badge/license-GPL3-blue.svg)](https://github.com/yse/easy_profiler/blob/develop/COPYING)[![Build Status](https://travis-ci.org/yse/easy_profiler.svg?branch=develop)](https://travis-ci.org/yse/easy_profiler)
1. [About](#about)
2. [Build](#build)
- [Linux](#linux)
- [Windows](#windows)
3. [Usage](#usage)
# About
Lightweight profiler library for c++ Lightweight profiler library for c++
You can profile any function in you code. Furthermore this library provide profiling of any block of code. You can profile any function in you code. Furthermore this library provide profiling of any block of code.
# Build
## Prerequisites
For core:
* compiler with c++11 support
* cmake 3.0 or later
For GUI:
* Qt 5.3.0 or later
## linux
```bash
$ mkdir build
$ cd build
$ cmake ..
$ make
```
## windows
If you use qtcreator IDE you can just open `CMakeLists.txt` file in root directory.
If you use Visual Studio you can generate solution by cmake command. In this case you should specify path to cmake scripts in Qt5 dir (usually in lib/cmake subdir), for example:
```batch
$ mkdir build
$ cd build
$ cmake -DCMAKE_PREFIX_PATH="C:\\\\Qt\\\\5.3\\\\msvc2013_64\\\\lib\\\\cmake" ..
```
# Usage
First of all you can specify path to include directory which contains `include/profiler` directory. For linking with ease_profiler you can specify path to library.
Example of usage. Example of usage.
This code snippet will generate block with function name and grouped it in Magenta group: This code snippet will generate block with function name and grouped it in Magenta group:
```cpp ```cpp
#include <profiler/profiler.h>
void frame(){ void frame(){
PROFILER_BEGIN_FUNCTION_BLOCK_GROUPED(profiler::colors::Magenta); PROFILER_BEGIN_FUNCTION_BLOCK_GROUPED(profiler::colors::Magenta);
prepareRender(); prepareRender();
@ -15,6 +61,8 @@ void frame(){
``` ```
To profile any block you may do this as following: To profile any block you may do this as following:
```cpp ```cpp
#include <profiler/profiler.h>
void frame(){ void frame(){
//some code //some code
PROFILER_BEGIN_BLOCK("Calculating summ"); PROFILER_BEGIN_BLOCK("Calculating summ");