test: update threading benchmark

This commit is contained in:
parker
2025-07-11 13:09:17 +01:00
parent f232491313
commit 107fef09fc
4 changed files with 41 additions and 13 deletions

View File

@@ -22,21 +22,37 @@ struct NMReset
TEST_CASE_METHOD(NMReset, "Network Manager")
{
using namespace enzo;
nt::OpId prevOp = 0;
for(int i=0; i<100; ++i){
nt::OpId newOp = nt::NetworkManager::addOperator();
if(prevOp!=0)
{
nt::connectOperators(newOp, 0, prevOp, 0);
}
nt::OpId startOp = nt::NetworkManager::addOperator();
nt::OpId prevOp = startOp;
std::vector<nt::OpId> prevOps;
prevOp = newOp;
for(int k=0; k<10; k++)
{
for(int i=0; i<4; ++i)
{
nt::OpId newOp = nt::NetworkManager::addOperator();
prevOps.push_back(newOp);
nt::connectOperators(newOp, i, prevOp, 0);
}
for(int j=0; j<10; j++)
{
std::vector<nt::OpId> prevOpsBuffer = prevOps;
for(int i=0; i<size(prevOpsBuffer); ++i)
{
prevOps.clear();
nt::OpId newOp = nt::NetworkManager::addOperator();
prevOps.push_back(newOp);
nt::connectOperators(newOp, 0, prevOpsBuffer[i], 0);
}
}
}
nt::NetworkManager* nm = nt::NetworkManager::getInstance();
BENCHMARK("Cook 100 Ops")
{
nm->setDisplayOp(prevOp);
nm->setDisplayOp(startOp);
};