Comments (8)
We are getting there.
On the plus side, when we release, we will have Visual Studio support.
Hang on !!!
from croaring.
The preliminary solution is to add pthread_mutex_t mutex
variable in shared_container_s
, and when the shared container is copied or free, the mutex variable is used for mutual exclusion. Avoid multiple threads modifying counter
at the same time. After our POC verification, there is no problem with this solution. I hope you can refer to this plan and give suggestions.
from croaring.
Please review #473
from croaring.
Please review #473
Perfect. And I tested it in doris, and I didn't reproduce the assertion failure problem. thanks. @lemire
from croaring.
I have added tests. If it passes the sanitizer tests in CI, I will release.
from croaring.
Question - when #473 is landed, this means all COW operations are thread safe? If so would make sense to enable COW always and remove the flag?
from croaring.
The PR fixing this has been released.
from croaring.
If so would make sense to enable COW always and remove the flag?
That would be a major change that could affect lots of users. I think that the furthest we should go is have a global parameter that can change the default, but I think that COW should remain "opt-in"... unless/until there is widespread consensus that it is best. Even so, it should be done with lots of warning.
It is better not to break existing code.
from croaring.
Related Issues (20)
- roaring64: and_inplace gives incorrect value HOT 1
- roaring64: or_inplace gives incorrect values HOT 2
- Wrong result for roaring64_bitmap_contains_range HOT 1
- Roaring64 iterator cannot come back from the edge
- Roaring64 iterator's move_equalorlarger can only go forward
- Copying a Roaring64MapSetBitForwardIterator into an iterator from another map does not work HOT 1
- Feature request: intersection, union, and difference with the tail of another bitmap HOT 4
- Segfault with roaring64_bitmap_flip_inplace HOT 4
- roaring64_iterator_move_equalorlarger cannot come back from the end
- How to use `containsRange` in roaring64 HOT 1
- Improve lazyor in CRoaring HOT 1
- Compiling croaring as C++ fails on Windows
- No github release/tag for 3.0.0 HOT 1
- Compilation issues with oldest clang versions with 3.0.0 HOT 1
- Allow allocating container in memory pool HOT 6
- Add a function to move the iterator to be equal or smaller than a value HOT 5
- Implement roaring64_bitmap_statistics HOT 10
- Avoid calculating the sum of items in bitmap statistics HOT 3
- Roaring - OR Operation - High memory usage in Oracle Linux 8(OEL8) when compared to Oracle Linux 7 (OEL7) HOT 7
- access the nullptr in function "run_container_is_full" HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from croaring.