Conversation
|
Merged in CGAL-4.8-Ic-102 |
08aeab6 to
2d156bf
Compare
|
Merged in CGAL-4.8-Ic-104 |
0214c85 to
ae7678a
Compare
|
I have marked the PR with "not yet approved" because I want the PR to be tested in |
|
Merged in CGAL-4.8-Ic-105. |
|
I think this branch is responsible for many warnings about c++11. |
|
Actually I do not think so. The issue seems to be because I was using g++-4.5.3 with an Boost library version compiled with g++-4.8. |
|
Commits |
|
Merged in CGAL-4.8-Ic-106. |
|
Merged in CGAL-4.8-Ic-107 |
|
Fails on platforms 21, 22 and 24. |
|
Hi Laurent, |
|
I have refreshed the branch: merged it with So far, the update of Lazy objects is done using a lock on a mutex. The bad thing is that all readers and writers have to lock the mutex. I have two other ideas, that might be more efficient:
Both three variants will have to be benched, plus |
Modifying Interval_nt so that all operations are atomic seems like overkill that will badly affect the performance of approximate functors. We only want load/store of approximate objects in Lazy to be atomic-ish (it is not obvious if we will hit bugs if we keep it non-atomic).
2 = 3 ? 😕 |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Anyway, `std::atomic` is always available, with C++11.
The template argument for `Thread_safety_policy` can be:
- anything, like `void`,
- `Atomic_reference_counting_tag`, to enable the atomic reference
counting,
- `Thread_safe_tag`, to enable the full thread-safety.
|
@lrineau The PoC branch https://github.com/mglisse/cgal/tree/mt-glisse seems to have less overhead than this one currently does. (it is messy, several ideas are not prototyped yet, etc, it is to get an idea of what a reasonable overhead looks like) |
That is indeed very interesting. What are the next steps, now? |
I don't know, some possible next steps
|
|
Replaced by #5402. |
Add re-entrance to the
CGAL::Epeckkernel.<CGAL/Handle_for.h>,<CGAL/Lazy.h>.Depends on #642.
Fixes #4340.