Disable freelist for macos
All checks were successful
Tests / 64 bit versions total: 8220, passed: 8220
Tests / Debug total: 8218, passed: 8218
Tests / SIMD fallback total: 8220, passed: 8220
Tests / Release [clang] total: 8220, passed: 8220
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / gcc total: 8220, passed: 8220
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [clang,aarch64] total: 5446, passed: 5446
Tests / Coverage total: 5497, passed: 5497
Code Coverage #### Project Overview
No changes detected, that affect the code coverage.
* Line Coverage: 97.69% (3168/3243)
* Branch Coverage: 42.25% (19291/45654)
* Complexity Density: 0.00
* Lines of Code: 3243
#### Quality Gates Summary
Output truncated.
weaselab/conflict-set/pipeline/head This commit looks good
All checks were successful
Tests / 64 bit versions total: 8220, passed: 8220
Tests / Debug total: 8218, passed: 8218
Tests / SIMD fallback total: 8220, passed: 8220
Tests / Release [clang] total: 8220, passed: 8220
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / gcc total: 8220, passed: 8220
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [clang,aarch64] total: 5446, passed: 5446
Tests / Coverage total: 5497, passed: 5497
Code Coverage #### Project Overview
No changes detected, that affect the code coverage.
* Line Coverage: 97.69% (3168/3243)
* Branch Coverage: 42.25% (19291/45654)
* Complexity Density: 0.00
* Lines of Code: 3243
#### Quality Gates Summary
Output truncated.
weaselab/conflict-set/pipeline/head This commit looks good
It's faster on my mac m1 without the freelist
This commit is contained in:
@@ -694,7 +694,12 @@ constexpr int getMaxCapacity(Node *self) {
|
|||||||
self->partialKeyLen);
|
self->partialKeyLen);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef __APPLE__
|
||||||
|
// Disabling the free list altogether is faster on my mac m1
|
||||||
|
constexpr int64_t kMaxFreeListBytes = 0;
|
||||||
|
#else
|
||||||
constexpr int64_t kMaxFreeListBytes = 1 << 20;
|
constexpr int64_t kMaxFreeListBytes = 1 << 20;
|
||||||
|
#endif
|
||||||
|
|
||||||
// Maintains a free list up to kMaxFreeListBytes. If the top element of the list
|
// Maintains a free list up to kMaxFreeListBytes. If the top element of the list
|
||||||
// doesn't meet the capacity constraints, it's freed and a new node is allocated
|
// doesn't meet the capacity constraints, it's freed and a new node is allocated
|
||||||
@@ -729,6 +734,8 @@ template <class T> struct NodeAllocator {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void release(T *p) {
|
void release(T *p) {
|
||||||
|
assume(p->partialKeyCapacity >= 0);
|
||||||
|
assume(freeListSize >= 0);
|
||||||
if (freeListSize + sizeof(T) + p->partialKeyCapacity > kMaxFreeListBytes) {
|
if (freeListSize + sizeof(T) + p->partialKeyCapacity > kMaxFreeListBytes) {
|
||||||
removeNode(p);
|
removeNode(p);
|
||||||
return safe_free(p, sizeof(T) + p->partialKeyCapacity);
|
return safe_free(p, sizeof(T) + p->partialKeyCapacity);
|
||||||
|
Reference in New Issue
Block a user