mirror of
https://git.wownero.com/wownero/wownero.git
synced 2024-08-15 01:03:23 +00:00
moved all stuff to github
This commit is contained in:
parent
095fbeeb67
commit
296ae46ed8
388 changed files with 95937 additions and 469 deletions
55
tests/performance_tests/performance_utils.h
Normal file
55
tests/performance_tests/performance_utils.h
Normal file
|
@ -0,0 +1,55 @@
|
|||
// Copyright (c) 2012-2013 The Cryptonote developers
|
||||
// Distributed under the MIT/X11 software license, see the accompanying
|
||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <iostream>
|
||||
|
||||
#include <boost/config.hpp>
|
||||
|
||||
#ifdef BOOST_WINDOWS
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
void set_process_affinity(int core)
|
||||
{
|
||||
#if defined(BOOST_WINDOWS)
|
||||
DWORD_PTR mask = 1;
|
||||
for (int i = 0; i < core; ++i)
|
||||
{
|
||||
mask <<= 1;
|
||||
}
|
||||
::SetProcessAffinityMask(::GetCurrentProcess(), core);
|
||||
#elif defined(BOOST_HAS_PTHREADS)
|
||||
cpu_set_t cpuset;
|
||||
CPU_ZERO(&cpuset);
|
||||
CPU_SET(core, &cpuset);
|
||||
if (0 != ::pthread_setaffinity_np(::pthread_self(), sizeof(cpuset), &cpuset))
|
||||
{
|
||||
std::cout << "pthread_setaffinity_np - ERROR" << std::endl;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void set_thread_high_priority()
|
||||
{
|
||||
#if defined(BOOST_WINDOWS)
|
||||
::SetPriorityClass(::GetCurrentProcess(), HIGH_PRIORITY_CLASS);
|
||||
#elif defined(BOOST_HAS_PTHREADS)
|
||||
pthread_attr_t attr;
|
||||
int policy = 0;
|
||||
int max_prio_for_policy = 0;
|
||||
|
||||
::pthread_attr_init(&attr);
|
||||
::pthread_attr_getschedpolicy(&attr, &policy);
|
||||
max_prio_for_policy = ::sched_get_priority_max(policy);
|
||||
|
||||
if (0 != ::pthread_setschedprio(::pthread_self(), max_prio_for_policy))
|
||||
{
|
||||
std::cout << "pthread_setschedprio - ERROR" << std::endl;
|
||||
}
|
||||
|
||||
::pthread_attr_destroy(&attr);
|
||||
#endif
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue