mirror of
https://github.com/yse/easy_profiler.git
synced 2025-01-14 08:37:55 +08:00
Sample with more real blocks
This commit is contained in:
parent
9f48bf6e21
commit
6df717781a
@ -7,6 +7,7 @@
|
|||||||
#include <condition_variable>
|
#include <condition_variable>
|
||||||
#include "profiler/reader.h"
|
#include "profiler/reader.h"
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
|
#include <math.h>
|
||||||
|
|
||||||
std::condition_variable cv;
|
std::condition_variable cv;
|
||||||
std::mutex cv_m;
|
std::mutex cv_m;
|
||||||
@ -15,11 +16,19 @@ int g_i = 0;
|
|||||||
int OBJECTS = 9000;
|
int OBJECTS = 9000;
|
||||||
int RENDER_SPEPS = 1600;
|
int RENDER_SPEPS = 1600;
|
||||||
int MODELLING_STEPS = 1000;
|
int MODELLING_STEPS = 1000;
|
||||||
int RESOURCE_LOADING_COUNT = 100;
|
int RESOURCE_LOADING_COUNT = 50;
|
||||||
|
|
||||||
|
void localSleep(int magic=200000)
|
||||||
|
{
|
||||||
|
//PROFILER_BEGIN_FUNCTION_BLOCK_GROUPED(profiler::colors::Blue);
|
||||||
|
volatile int i = 0;
|
||||||
|
for (; i < magic; ++i);
|
||||||
|
}
|
||||||
|
|
||||||
void loadingResources(){
|
void loadingResources(){
|
||||||
PROFILER_BEGIN_FUNCTION_BLOCK_GROUPED(profiler::colors::Darkcyan);
|
PROFILER_BEGIN_FUNCTION_BLOCK_GROUPED(profiler::colors::Darkcyan);
|
||||||
std::this_thread::sleep_for(std::chrono::milliseconds(50));
|
localSleep();
|
||||||
|
// std::this_thread::sleep_for(std::chrono::milliseconds(50));
|
||||||
}
|
}
|
||||||
|
|
||||||
void prepareMath(){
|
void prepareMath(){
|
||||||
@ -45,20 +54,32 @@ void calcIntersect(){
|
|||||||
//std::this_thread::sleep_for(std::chrono::milliseconds(4));
|
//std::this_thread::sleep_for(std::chrono::milliseconds(4));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
double multModel(double i)
|
||||||
|
{
|
||||||
|
PROFILER_BEGIN_FUNCTION_BLOCK_GROUPED(profiler::colors::Blue);
|
||||||
|
return i * sin(i) * cos(i);
|
||||||
|
}
|
||||||
|
|
||||||
void calcPhys(){
|
void calcPhys(){
|
||||||
PROFILER_BEGIN_FUNCTION_BLOCK_GROUPED(profiler::colors::Blue);
|
PROFILER_BEGIN_FUNCTION_BLOCK_GROUPED(profiler::colors::Blue);
|
||||||
int* intarray = new int[OBJECTS];
|
double* intarray = new double[OBJECTS];
|
||||||
for (int i = 0; i < OBJECTS; ++i)
|
for (int i = 0; i < OBJECTS; ++i)
|
||||||
intarray[i] = i * i + i / 3 - (OBJECTS - i) / 2;
|
intarray[i] = multModel(double(i)) + double(i / 3) - double((OBJECTS - i) / 2);
|
||||||
calcIntersect();
|
calcIntersect();
|
||||||
delete[] intarray;
|
delete[] intarray;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
double calcSubbrain(int i)
|
||||||
|
{
|
||||||
|
PROFILER_BEGIN_FUNCTION_BLOCK_GROUPED(profiler::colors::Blue);
|
||||||
|
return i * i * i - i / 10 + (OBJECTS - i) * 7 ;
|
||||||
|
}
|
||||||
|
|
||||||
void calcBrain(){
|
void calcBrain(){
|
||||||
PROFILER_BEGIN_FUNCTION_BLOCK_GROUPED(profiler::colors::Blue);
|
PROFILER_BEGIN_FUNCTION_BLOCK_GROUPED(profiler::colors::Blue);
|
||||||
int* intarray = new int[OBJECTS];
|
double* intarray = new double[OBJECTS];
|
||||||
for (int i = 0; i < OBJECTS; ++i)
|
for (int i = 0; i < OBJECTS; ++i)
|
||||||
intarray[i] = i * i * i - i / 10 + (OBJECTS - i) * 7 + i * 180 / 3;
|
intarray[i] = calcSubbrain(double(i)) + double(i * 180 / 3);
|
||||||
delete[] intarray;
|
delete[] intarray;
|
||||||
//std::this_thread::sleep_for(std::chrono::milliseconds(3));
|
//std::this_thread::sleep_for(std::chrono::milliseconds(3));
|
||||||
}
|
}
|
||||||
@ -77,17 +98,28 @@ void modellingStep(){
|
|||||||
|
|
||||||
void prepareRender(){
|
void prepareRender(){
|
||||||
PROFILER_BEGIN_FUNCTION_BLOCK_GROUPED(profiler::colors::Darkred);
|
PROFILER_BEGIN_FUNCTION_BLOCK_GROUPED(profiler::colors::Darkred);
|
||||||
volatile int i = 0;
|
localSleep();
|
||||||
for (; i < 200000; ++i);
|
|
||||||
//std::this_thread::sleep_for(std::chrono::milliseconds(8));
|
//std::this_thread::sleep_for(std::chrono::milliseconds(8));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int multPhys(int i)
|
||||||
|
{
|
||||||
|
PROFILER_BEGIN_FUNCTION_BLOCK_GROUPED(profiler::colors::Red);
|
||||||
|
return i * i * i * i / 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
int calcPhysicForObject(int i)
|
||||||
|
{
|
||||||
|
PROFILER_BEGIN_FUNCTION_BLOCK_GROUPED(profiler::colors::Red);
|
||||||
|
return multPhys(i) + i / 3 - (OBJECTS - i) * 15;
|
||||||
|
}
|
||||||
|
|
||||||
void calculatePhysics(){
|
void calculatePhysics(){
|
||||||
PROFILER_BEGIN_FUNCTION_BLOCK_GROUPED(profiler::colors::Red);
|
PROFILER_BEGIN_FUNCTION_BLOCK_GROUPED(profiler::colors::Red);
|
||||||
unsigned int* intarray = new unsigned int[OBJECTS];
|
unsigned int* intarray = new unsigned int[OBJECTS];
|
||||||
for (int i = 0; i < OBJECTS; ++i)
|
for (int i = 0; i < OBJECTS; ++i)
|
||||||
intarray[i] = i * i * i * i / 100 + i / 3 - (OBJECTS - i) * 15;
|
intarray[i] = calcPhysicForObject(i);
|
||||||
delete[] intarray;
|
delete[] intarray;
|
||||||
//std::this_thread::sleep_for(std::chrono::milliseconds(8));
|
//std::this_thread::sleep_for(std::chrono::milliseconds(8));
|
||||||
}
|
}
|
||||||
@ -105,7 +137,7 @@ void loadingResourcesThread(){
|
|||||||
for(int i = 0; i < RESOURCE_LOADING_COUNT; i++){
|
for(int i = 0; i < RESOURCE_LOADING_COUNT; i++){
|
||||||
loadingResources();
|
loadingResources();
|
||||||
PROFILER_ADD_EVENT_GROUPED("Resources Loading!",profiler::colors::Cyan);
|
PROFILER_ADD_EVENT_GROUPED("Resources Loading!",profiler::colors::Cyan);
|
||||||
std::this_thread::sleep_for(std::chrono::milliseconds(20));
|
//std::this_thread::sleep_for(std::chrono::milliseconds(20));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -115,7 +147,8 @@ void modellingThread(){
|
|||||||
PROFILER_SET_THREAD_NAME("Modelling")
|
PROFILER_SET_THREAD_NAME("Modelling")
|
||||||
for (int i = 0; i < RENDER_SPEPS; i++){
|
for (int i = 0; i < RENDER_SPEPS; i++){
|
||||||
modellingStep();
|
modellingStep();
|
||||||
std::this_thread::sleep_for(std::chrono::milliseconds(20));
|
localSleep(300000);
|
||||||
|
//std::this_thread::sleep_for(std::chrono::milliseconds(20));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -125,7 +158,8 @@ void renderThread(){
|
|||||||
PROFILER_SET_THREAD_NAME("Render")
|
PROFILER_SET_THREAD_NAME("Render")
|
||||||
for (int i = 0; i < MODELLING_STEPS; i++){
|
for (int i = 0; i < MODELLING_STEPS; i++){
|
||||||
frame();
|
frame();
|
||||||
std::this_thread::sleep_for(std::chrono::milliseconds(20));
|
localSleep(300000);
|
||||||
|
//std::this_thread::sleep_for(std::chrono::milliseconds(20));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ echo "Blocks count, dT prof enabled usec, dT prof disabled usec" > $RESULT_FILE
|
|||||||
|
|
||||||
for i in {1..9}
|
for i in {1..9}
|
||||||
do
|
do
|
||||||
OBJECTS_COUNT=$(($i*1000))
|
OBJECTS_COUNT=$(($i*10))
|
||||||
for j in {10..15}
|
for j in {10..15}
|
||||||
do
|
do
|
||||||
RENDER_COUNT=$(($j*100))
|
RENDER_COUNT=$(($j*100))
|
||||||
@ -32,7 +32,7 @@ do
|
|||||||
echo $N_ENA,$DT_ENA,$N_DIS >> $RESULT_FILE
|
echo $N_ENA,$DT_ENA,$N_DIS >> $RESULT_FILE
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
echo $obj
|
echo $i
|
||||||
|
|
||||||
done
|
done
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user