Increase benchmark iterations and adjust heartbeat threshold for improved timing accuracy
This commit is contained in:
@@ -43,7 +43,7 @@ int main() {
|
|||||||
|
|
||||||
SweepstoreConcurrency::initialiseMasterAsync(filePath);
|
SweepstoreConcurrency::initialiseMasterAsync(filePath);
|
||||||
|
|
||||||
int iterations = 8;
|
int iterations = 16;
|
||||||
int currentIteration = 0;
|
int currentIteration = 0;
|
||||||
|
|
||||||
int concurrencyTest = 1;
|
int concurrencyTest = 1;
|
||||||
@@ -120,6 +120,9 @@ int main() {
|
|||||||
std::cout << "[" << currentIteration << "/" << iterations << "] Completed " << concurrencyTest << " operations in " << duration << " ms." << std::endl;
|
std::cout << "[" << currentIteration << "/" << iterations << "] Completed " << concurrencyTest << " operations in " << duration << " ms." << std::endl;
|
||||||
|
|
||||||
concurrencyTest *= 2;
|
concurrencyTest *= 2;
|
||||||
|
|
||||||
|
// Wait between iterations
|
||||||
|
preciseSleep(std::chrono::milliseconds(200));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Shutdown workers after all iterations
|
// Shutdown workers after all iterations
|
||||||
|
|||||||
@@ -161,7 +161,7 @@ void SweepstoreConcurrency::spawnTicket(SweepstoreFileHandle* _file,
|
|||||||
|
|
||||||
// Update heartbeat
|
// Update heartbeat
|
||||||
uint32_t currentTime = millisecondsSinceEpoch32();
|
uint32_t currentTime = millisecondsSinceEpoch32();
|
||||||
if (currentTime - snapshot.workerHeartbeat > 700) {
|
if (currentTime - snapshot.workerHeartbeat > STALE_HEARTBEAT_THRESHOLD_MS / 5) {
|
||||||
snapshot.workerHeartbeat = currentTime;
|
snapshot.workerHeartbeat = currentTime;
|
||||||
myTicket.write(snapshot);
|
myTicket.write(snapshot);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,5 @@
|
|||||||
#include "sweepstore/utils/file_lock.h"
|
|
||||||
#include "sweepstore/utils/file_handle.h"
|
#include "sweepstore/utils/file_handle.h"
|
||||||
|
|
||||||
// Thread-local FD cache definition for file locking
|
|
||||||
#ifndef _WIN32
|
|
||||||
thread_local std::unordered_map<std::string, int> SweepstoreFileLock::fdCache;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Thread-local stream cache definition for file handles
|
// Thread-local stream cache definition for file handles
|
||||||
#ifndef WITH_UNREAL
|
#ifndef WITH_UNREAL
|
||||||
thread_local std::unordered_map<std::string, std::unique_ptr<std::fstream>> SweepstoreFileHandle::streamCache;
|
thread_local std::unordered_map<std::string, std::unique_ptr<std::fstream>> SweepstoreFileHandle::streamCache;
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
#include "sweepstore/utils/timing.h"
|
#include "sweepstore/utils/timing.h"
|
||||||
|
|
||||||
#define STALE_HEARTBEAT_THRESHOLD_MS 5000
|
#define STALE_HEARTBEAT_THRESHOLD_MS 250
|
||||||
|
|
||||||
enum SweepstoreTicketOperation : int;
|
enum SweepstoreTicketOperation : int;
|
||||||
class SweepstoreFileHandle;
|
class SweepstoreFileHandle;
|
||||||
|
|||||||
Reference in New Issue
Block a user