- Use only steady timestamp counters to guarantee correctness - CPU backend: directly measure total hashrate using raw hash counters from each thread; update data more often on ARM CPUs because they're slower - GPU backends: directly measure total hashrate too, but use interpolator with 4 second lag to fix variance from batches of hashes Total hashrate is now measured directly (realtime for CPU, 4 seconds lag for GPU), so it might differ a bit from the sum of all thread hashrates because data points are taken at different moments in time. Overhead is reduced a lot since it doesn't have to go through all threads to calculate max total hashrate on every timer tick (2 times a second).
24 lines
754 B
CMake
24 lines
754 B
CMake
set(HEADERS_BACKEND_COMMON
|
|
src/backend/common/Hashrate.h
|
|
src/backend/common/HashrateInterpolator.h
|
|
src/backend/common/Tags.h
|
|
src/backend/common/interfaces/IBackend.h
|
|
src/backend/common/interfaces/IRxListener.h
|
|
src/backend/common/interfaces/IRxStorage.h
|
|
src/backend/common/interfaces/IWorker.h
|
|
src/backend/common/misc/PciTopology.h
|
|
src/backend/common/Thread.h
|
|
src/backend/common/Threads.h
|
|
src/backend/common/Worker.h
|
|
src/backend/common/WorkerJob.h
|
|
src/backend/common/Workers.h
|
|
)
|
|
|
|
set(SOURCES_BACKEND_COMMON
|
|
src/backend/common/Hashrate.cpp
|
|
src/backend/common/HashrateInterpolator.cpp
|
|
src/backend/common/Threads.cpp
|
|
src/backend/common/Worker.cpp
|
|
src/backend/common/Workers.cpp
|
|
)
|