Non-computational functions for checking library version, quering information about processor, and benchmarking. More...
Static Public Member Functions | |
static native long | getTimerTicks () |
Queries the ticks count of the high-resolution system timer. More... | |
static native long | getTimerFrequency () |
Queries the frequency (number of ticks per second) of the high-resolution system timer. More... | |
static native long | getTimerAccuracy () |
Detects the minimum time difference in nanoseconds which can be measured by the high-resolution system timer. More... | |
static CpuVendor | getCpuVendor () |
Returns information about the vendor of the processor. More... | |
static CpuArchitecture | getCpuArchitecture () |
Provides information about the architecture of the processor. More... | |
static CpuMicroarchitecture | getCpuMicroarchitecture () |
Provides information about the microarchitecture of the processor. More... | |
static CpuCycleCounterState | acquireCycleCounter () |
Initializes the processor cycle counter and starts counting the processor cycles. More... | |
static long | releaseCycleCounter (CpuCycleCounterState cycleCounter) |
Stops counting the processor cycles, releases the system resources associated with the cycle counter, and returns the number of cycles elapsed. More... | |
static boolean | isSupported (CpuIsaFeature isaFeature) |
Checks if the specified ISA extension is supported by the processor. More... | |
static boolean | isSupported (CpuSimdFeature simdFeature) |
Checks if the specified SIMD extension is supported by the processor. More... | |
static boolean | isSupported (CpuSystemFeature systemFeature) |
Checks if processor or system support the specified non-ISA feature. More... | |
static Version | getVersion () |
Provides information about Yeppp! library version. More... | |
Non-computational functions for checking library version, quering information about processor, and benchmarking.
|
static |
Queries the ticks count of the high-resolution system timer.
The difference in ticks between two time moments divided by timer frequency gives the number of seconds between two time moments.
SystemException | If the attempt to read the high-resolution timer failed inside the OS kernel. |
|
static |
Queries the frequency (number of ticks per second) of the high-resolution system timer.
The difference in ticks between two time moments divided by timer frequency gives the number of seconds between two time moments.
SystemException | If the attempt to read the high-resolution timer frequency failed inside the OS kernel. |
|
static |
Detects the minimum time difference in nanoseconds which can be measured by the high-resolution system timer.
SystemException | If the attempt to measure the accuracy of high-resolution timer failed inside the OS kernel. |
|
static |
|
static |
Provides information about the architecture of the processor.
|
static |
Provides information about the microarchitecture of the processor.
|
static |
Initializes the processor cycle counter and starts counting the processor cycles.
Call releaseCycleCounter() to get the number of processor cycles passed.
UnsupportedHardwareException | If the processor does not have cycle counter. |
UnsupportedSoftwareException | If the operating system does not provide access to the CPU cycle counter. |
SystemException | If the attempt to initialize cycle counter failed inside the OS kernel. |
|
static |
Stops counting the processor cycles, releases the system resources associated with the cycle counter, and returns the number of cycles elapsed.
[in,out] | cycleCounter | An object representing the state of the cycle counter returned by acquireCycleCounter(). The cycle counter should be released only once, and this function invalidates the state object. |
IllegalStateException | The cycleCounter object is not a valid state of the cycle counter. This can happen if the cycleCounter object was released previously. |
UnsupportedHardwareException | If the processor does not have cycle counter. |
UnsupportedSoftwareException | If the operating system does not provide access to the CPU cycle counter. |
SystemException | If the attempt to read the cycle counter or release the OS resources failed inside the OS kernel. |
|
static |
Checks if the specified ISA extension is supported by the processor.
[in] | isaFeature | An object specifying the ISA extension of interest. |
true | If the processor supports the specified ISA extension. |
false | If the processor does not support the specificed ISA extension. |
|
static |
Checks if the specified SIMD extension is supported by the processor.
[in] | simdFeature | An object specifying the SIMD extension of interest. |
true | If the processor supports the specified SIMD extension. |
false | If the processor does not support the specificed SIMD extension. |
|
static |
Checks if processor or system support the specified non-ISA feature.
[in] | systemFeature | An object specifying the non-ISA processor or system feature of interest. |
true | If the specified processor or system extension is supported on this machine. |
false | If the specified processor or system extension is not supported on this machine. |