Fabcoin Core
0.16.2
P2P Digital Currency
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
src
bench
perf.h
Go to the documentation of this file.
1
// Copyright (c)2016-2017 The Bitcoin Core developers
2
// Distributed under the MIT software license, see the accompanying
3
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
4
6
#ifndef H_PERF
7
#define H_PERF
8
9
#include <stdint.h>
10
11
#if defined(__i386__)
12
13
static
inline
uint64_t
perf_cpucycles
(
void
)
14
{
15
uint64_t
x
;
16
__asm__
volatile
(
".byte 0x0f, 0x31"
:
"=A"
(
x
));
17
return
x
;
18
}
19
20
#elif defined(__x86_64__)
21
22
static
inline
uint64_t
perf_cpucycles
(
void
)
23
{
24
uint32_t hi, lo;
25
__asm__ __volatile__ (
"rdtsc"
:
"=a"
(lo),
"=d"
(hi));
26
return
((uint64_t)lo)|(((uint64_t)hi)<<32);
27
}
28
#else
29
30
uint64_t
perf_cpucycles
(
void
);
31
32
#endif
33
34
void
perf_init
(
void
);
35
void
perf_fini
(
void
);
36
37
#endif // H_PERF
perf_init
void perf_init(void)
Definition:
perf.cpp:49
perf_cpucycles
uint64_t perf_cpucycles(void)
Functions for measurement of CPU cycles.
Definition:
perf.cpp:51
x
#define x(i)
perf_fini
void perf_fini(void)
Definition:
perf.cpp:50
Generated on Mon Oct 22 2018 15:15:26 for Fabcoin Core by
1.8.11