memory test
parent
bc34bd781e
commit
2785519443
|
@ -1,5 +1,5 @@
|
||||||
cmake_minimum_required(VERSION 3.25)
|
cmake_minimum_required(VERSION 3.25)
|
||||||
project(lilfbtf5 VERSION 0.1.12)
|
project(lilfbtf5 VERSION 0.1.13)
|
||||||
|
|
||||||
option(ENABLE_ADDRSAN "Enable the address sanitizer" OFF)
|
option(ENABLE_ADDRSAN "Enable the address sanitizer" OFF)
|
||||||
option(ENABLE_UBSAN "Enable the ub sanitizer" OFF)
|
option(ENABLE_UBSAN "Enable the ub sanitizer" OFF)
|
||||||
|
|
2
libs/BLT
2
libs/BLT
|
@ -1 +1 @@
|
||||||
Subproject commit 263bbc88cf1b9423054cdbdbcdd9f31366184920
|
Subproject commit 1abd3214be23289b26f4cf2329c4a58c0c7be04b
|
|
@ -29,6 +29,8 @@
|
||||||
#include <stack>
|
#include <stack>
|
||||||
#include "blt/profiling/profiler_v2.h"
|
#include "blt/profiling/profiler_v2.h"
|
||||||
#include "blt/std/allocator.h"
|
#include "blt/std/allocator.h"
|
||||||
|
#include "blt/std/format.h"
|
||||||
|
#include "blt/std/system.h"
|
||||||
|
|
||||||
namespace fb
|
namespace fb
|
||||||
{
|
{
|
||||||
|
@ -876,7 +878,7 @@ namespace fb
|
||||||
alloc_2.destroy(children[i]);
|
alloc_2.destroy(children[i]);
|
||||||
alloc_2.deallocate(children[i]);
|
alloc_2.deallocate(children[i]);
|
||||||
}
|
}
|
||||||
alloc_2.deallocate(children);
|
alloc_2.deallocate(children, type.argc());
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1007,7 +1009,7 @@ namespace fb
|
||||||
alloc_2.destroy(children[i]);
|
alloc_2.destroy(children[i]);
|
||||||
alloc_2.deallocate(children[i]);
|
alloc_2.deallocate(children[i]);
|
||||||
}
|
}
|
||||||
alloc_2.deallocate(children);
|
alloc_2.deallocate(children, type.argc());
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1138,7 +1140,7 @@ namespace fb
|
||||||
alloc_2.destroy(children[i]);
|
alloc_2.destroy(children[i]);
|
||||||
alloc_2.deallocate(children[i]);
|
alloc_2.deallocate(children[i]);
|
||||||
}
|
}
|
||||||
alloc_2.deallocate(children);
|
alloc_2.deallocate(children, type.argc());
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1272,7 +1274,7 @@ namespace fb
|
||||||
alloc_2.destroy(children[i]);
|
alloc_2.destroy(children[i]);
|
||||||
alloc_2.deallocate(children[i]);
|
alloc_2.deallocate(children[i]);
|
||||||
}
|
}
|
||||||
alloc_2.deallocate(children);
|
alloc_2.deallocate(children, type.argc());
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1348,62 +1350,122 @@ namespace fb
|
||||||
|
|
||||||
void run_any_t()
|
void run_any_t()
|
||||||
{
|
{
|
||||||
|
alloc_2.resetStats();
|
||||||
engine.reset();
|
engine.reset();
|
||||||
tree_any love[size];
|
tree_any love[size];
|
||||||
|
{
|
||||||
|
auto v = blt::system::get_memory_process();
|
||||||
|
BLT_DEBUG("Currently %ld bytes aka %s in memory", v.resident, blt::string::fromBytes(v.resident).c_str());
|
||||||
|
}
|
||||||
BLT_START_INTERVAL("Tree Construction", "any_t tree");
|
BLT_START_INTERVAL("Tree Construction", "any_t tree");
|
||||||
for (auto& i : love)
|
for (auto& i : love)
|
||||||
i.create(tree_size);
|
i.create(tree_size);
|
||||||
BLT_END_INTERVAL("Tree Construction", "any_t tree");
|
BLT_END_INTERVAL("Tree Construction", "any_t tree");
|
||||||
BLT_INFO("Construction any_t finished");
|
BLT_INFO("Construction any_t finished");
|
||||||
|
{
|
||||||
|
auto v = blt::system::get_memory_process();
|
||||||
|
BLT_DEBUG("Currently %ld bytes aka %s in memory", v.resident, blt::string::fromBytes(v.resident).c_str());
|
||||||
|
}
|
||||||
BLT_START_INTERVAL("Tree Evaluation", "any_t tree");
|
BLT_START_INTERVAL("Tree Evaluation", "any_t tree");
|
||||||
for (auto& i : love)
|
for (auto& i : love)
|
||||||
blt::black_box(i.evaluate());
|
blt::black_box(i.evaluate());
|
||||||
BLT_END_INTERVAL("Tree Evaluation", "any_t tree");
|
BLT_END_INTERVAL("Tree Evaluation", "any_t tree");
|
||||||
|
{
|
||||||
|
auto v = blt::system::get_memory_process();
|
||||||
|
BLT_DEBUG("Currently %ld bytes aka %s in memory", v.resident, blt::string::fromBytes(v.resident).c_str());
|
||||||
|
}
|
||||||
|
BLT_INFO("Peak bytes for any_t: %s, blocks: %ld", blt::string::fromBytes(alloc_2.getStats().getPeakBytes()).c_str(),
|
||||||
|
alloc_2.getStats().getPeakBlocks());
|
||||||
}
|
}
|
||||||
|
|
||||||
void run_any_t_variant()
|
void run_any_t_variant()
|
||||||
{
|
{
|
||||||
|
alloc_2.resetStats();
|
||||||
engine.reset();
|
engine.reset();
|
||||||
tree_any_variant love[size];
|
tree_any_variant love[size];
|
||||||
|
{
|
||||||
|
auto v = blt::system::get_memory_process();
|
||||||
|
BLT_DEBUG("Currently %ld bytes aka %s in memory", v.resident, blt::string::fromBytes(v.resident).c_str());
|
||||||
|
}
|
||||||
BLT_START_INTERVAL("Tree Construction", "any_t_variant tree");
|
BLT_START_INTERVAL("Tree Construction", "any_t_variant tree");
|
||||||
for (auto& i : love)
|
for (auto& i : love)
|
||||||
i.create(tree_size);
|
i.create(tree_size);
|
||||||
BLT_END_INTERVAL("Tree Construction", "any_t_variant tree");
|
BLT_END_INTERVAL("Tree Construction", "any_t_variant tree");
|
||||||
BLT_INFO("Construction any_t_variant finished");
|
BLT_INFO("Construction any_t_variant finished");
|
||||||
|
{
|
||||||
|
auto v = blt::system::get_memory_process();
|
||||||
|
BLT_DEBUG("Currently %ld bytes aka %s in memory", v.resident, blt::string::fromBytes(v.resident).c_str());
|
||||||
|
}
|
||||||
BLT_START_INTERVAL("Tree Evaluation", "any_t_variant tree");
|
BLT_START_INTERVAL("Tree Evaluation", "any_t_variant tree");
|
||||||
for (auto& i : love)
|
for (auto& i : love)
|
||||||
blt::black_box(i.evaluate());
|
blt::black_box(i.evaluate());
|
||||||
BLT_END_INTERVAL("Tree Evaluation", "any_t_variant tree");
|
BLT_END_INTERVAL("Tree Evaluation", "any_t_variant tree");
|
||||||
|
{
|
||||||
|
auto v = blt::system::get_memory_process();
|
||||||
|
BLT_DEBUG("Currently %ld bytes aka %s in memory", v.resident, blt::string::fromBytes(v.resident).c_str());
|
||||||
|
}
|
||||||
|
BLT_INFO("Peak bytes for any_t_variant: %s, blocks: %ld", blt::string::fromBytes(alloc_2.getStats().getPeakBytes()).c_str(),
|
||||||
|
alloc_2.getStats().getPeakBlocks());
|
||||||
}
|
}
|
||||||
|
|
||||||
void run_any_t_union()
|
void run_any_t_union()
|
||||||
{
|
{
|
||||||
|
alloc_2.resetStats();
|
||||||
engine.reset();
|
engine.reset();
|
||||||
tree_any_union love[size];
|
tree_any_union love[size];
|
||||||
|
{
|
||||||
|
auto v = blt::system::get_memory_process();
|
||||||
|
BLT_DEBUG("Currently %ld bytes aka %s in memory", v.resident, blt::string::fromBytes(v.resident).c_str());
|
||||||
|
}
|
||||||
BLT_START_INTERVAL("Tree Construction", "any_t_union tree");
|
BLT_START_INTERVAL("Tree Construction", "any_t_union tree");
|
||||||
for (auto& i : love)
|
for (auto& i : love)
|
||||||
i.create(tree_size);
|
i.create(tree_size);
|
||||||
BLT_END_INTERVAL("Tree Construction", "any_t_union tree");
|
BLT_END_INTERVAL("Tree Construction", "any_t_union tree");
|
||||||
BLT_INFO("Construction any_t_union finished");
|
BLT_INFO("Construction any_t_union finished");
|
||||||
|
{
|
||||||
|
auto v = blt::system::get_memory_process();
|
||||||
|
BLT_DEBUG("Currently %ld bytes aka %s in memory", v.resident, blt::string::fromBytes(v.resident).c_str());
|
||||||
|
}
|
||||||
BLT_START_INTERVAL("Tree Evaluation", "any_t_union tree");
|
BLT_START_INTERVAL("Tree Evaluation", "any_t_union tree");
|
||||||
for (auto& i : love)
|
for (auto& i : love)
|
||||||
blt::black_box(i.evaluate());
|
blt::black_box(i.evaluate());
|
||||||
BLT_END_INTERVAL("Tree Evaluation", "any_t_union tree");
|
BLT_END_INTERVAL("Tree Evaluation", "any_t_union tree");
|
||||||
|
{
|
||||||
|
auto v = blt::system::get_memory_process();
|
||||||
|
BLT_DEBUG("Currently %ld bytes aka %s in memory", v.resident, blt::string::fromBytes(v.resident).c_str());
|
||||||
|
}
|
||||||
|
BLT_INFO("Peak bytes for any_t_union: %s, blocks: %ld", blt::string::fromBytes(alloc_2.getStats().getPeakBytes()).c_str(),
|
||||||
|
alloc_2.getStats().getPeakBlocks());
|
||||||
}
|
}
|
||||||
|
|
||||||
void run_std_any_t()
|
void run_std_any_t()
|
||||||
{
|
{
|
||||||
|
alloc_2.resetStats();
|
||||||
engine.reset();
|
engine.reset();
|
||||||
tree_std_any love[size];
|
tree_std_any love[size];
|
||||||
|
{
|
||||||
|
auto v = blt::system::get_memory_process();
|
||||||
|
BLT_DEBUG("Currently %ld bytes aka %s in memory", v.resident, blt::string::fromBytes(v.resident).c_str());
|
||||||
|
}
|
||||||
BLT_START_INTERVAL("Tree Construction", "std::any tree");
|
BLT_START_INTERVAL("Tree Construction", "std::any tree");
|
||||||
for (auto& i : love)
|
for (auto& i : love)
|
||||||
i.create(tree_size);
|
i.create(tree_size);
|
||||||
BLT_END_INTERVAL("Tree Construction", "std::any tree");
|
BLT_END_INTERVAL("Tree Construction", "std::any tree");
|
||||||
BLT_INFO("Construction std::any finished");
|
BLT_INFO("Construction std::any finished");
|
||||||
|
{
|
||||||
|
auto v = blt::system::get_memory_process();
|
||||||
|
BLT_DEBUG("Currently %ld bytes aka %s in memory", v.resident, blt::string::fromBytes(v.resident).c_str());
|
||||||
|
}
|
||||||
BLT_START_INTERVAL("Tree Evaluation", "std::any tree");
|
BLT_START_INTERVAL("Tree Evaluation", "std::any tree");
|
||||||
for (auto& i : love)
|
for (auto& i : love)
|
||||||
blt::black_box(i.evaluate());
|
blt::black_box(i.evaluate());
|
||||||
BLT_END_INTERVAL("Tree Evaluation", "std::any tree");
|
BLT_END_INTERVAL("Tree Evaluation", "std::any tree");
|
||||||
|
{
|
||||||
|
auto v = blt::system::get_memory_process();
|
||||||
|
BLT_DEBUG("Currently %ld bytes aka %s in memory", v.resident, blt::string::fromBytes(v.resident).c_str());
|
||||||
|
}
|
||||||
|
BLT_INFO("Peak bytes for std::any: %s, blocks: %ld", blt::string::fromBytes(alloc_2.getStats().getPeakBytes()).c_str(),
|
||||||
|
alloc_2.getStats().getPeakBlocks());
|
||||||
}
|
}
|
||||||
|
|
||||||
void test4()
|
void test4()
|
||||||
|
|
Loading…
Reference in New Issue