mirror of
https://github.com/xmrig/xmrig.git
synced 2025-12-19 20:22:46 -05:00
Pooled allocation of RandomX VMs
+0.5% speedup on Zen2 when the whole L3 cache is used (16 threads on 3700X/3800X, 32 threads on 3950X).
This commit is contained in:
@@ -49,16 +49,8 @@ namespace randomx {
|
||||
using VmBase<softAes>::datasetPtr;
|
||||
using VmBase<softAes>::datasetOffset;
|
||||
|
||||
void* operator new(size_t size) {
|
||||
void* ptr = AlignedAllocator<CacheLineSize>::allocMemory(size);
|
||||
if (ptr == nullptr)
|
||||
throw std::bad_alloc();
|
||||
return ptr;
|
||||
}
|
||||
|
||||
void operator delete(void* ptr) {
|
||||
AlignedAllocator<CacheLineSize>::freeMemory(ptr, sizeof(InterpretedVm));
|
||||
}
|
||||
void* operator new(size_t, void* ptr) { return ptr; }
|
||||
void operator delete(void*) {}
|
||||
|
||||
void run(void* seed) override;
|
||||
void setDataset(randomx_dataset* dataset) override;
|
||||
|
||||
Reference in New Issue
Block a user