Open Source & Linux Lab

It's better when it's simple

User Tools

Site Tools


projects:hpx:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
projects:hpx:start [2020/05/29 01:14] agaevprojects:hpx:start [2020/05/29 16:31] agaev
Line 62: Line 62:
  
 Дополнительные вещи, не из стандарта: Дополнительные вещи, не из стандарта:
 +
 hazptr_array<N> для N hazptr-ов сразу, быстрее. hazptr_array<N> для N hazptr-ов сразу, быстрее.
 +
 hazptr_local<N> немного быстрее, но обязывает иметь ровно 1 активный hazptr_* на поток hazptr_local<N> немного быстрее, но обязывает иметь ровно 1 активный hazptr_* на поток
  
Line 109: Line 111:
 ====== Аргумент против standard proposal(Hooks) ====== ====== Аргумент против standard proposal(Hooks) ======
 [[https://www.boost.org/doc/libs/1_54_0/doc/html/intrusive/usage.html|Boost.Intrusive]] [[https://www.boost.org/doc/libs/1_54_0/doc/html/intrusive/usage.html|Boost.Intrusive]]
 +
 В стандарте сейчас используется что-то похожее на base_hook В стандарте сейчас используется что-то похожее на base_hook
 +
 В Boost.Intrusive говорится(И это и есть аргумент): В Boost.Intrusive говорится(И это и есть аргумент):
- Sometimes an 'is-a' relationship between list hooks and the list value types is not desirable. In this case, using a member hook as a data member instead of 'disturbing' the hierarchy might be the right way:+ Sometimes an 'is-a' relationship between list hooks and the list value types is not desirable. 
 + In this case, using a member hook as a data member instead of 'disturbing' the hierarchy might be the right way:
 А потом ещё и А потом ещё и
- A programmer might find that base or member hooks are not flexible enough in some situations. In some applications it would be optimal to put a hook deep inside a member of a class or just outside the class. Boost.Intrusive has an easy option to allow such cases: function_hook. + A programmer might find that base or member hooks are not flexible enough in some situations. 
 + In some applications it would be optimal to put a hook deep inside a member of a class or just outside the class. 
 + Boost.Intrusive has an easy option to allow such cases: function_hook. 
  
 ===== Как можно исправить ===== ===== Как можно исправить =====
Line 166: Line 173:
  
 В массиве HP в libcds хранится каст к void*. В proposal'е каст к hazptr_obj_base*. В массиве HP в libcds хранится каст к void*. В proposal'е каст к hazptr_obj_base*.
 +
 Моя идея в том, чтобы как и в Boost.Intrusive, добавить к hazptr_domain или hazard_pointer::protect шаблонный параметр, указывающий на то, как получать hazptr_ptr из нашего класса Моя идея в том, чтобы как и в Boost.Intrusive, добавить к hazptr_domain или hazard_pointer::protect шаблонный параметр, указывающий на то, как получать hazptr_ptr из нашего класса
  
projects/hpx/start.txt · Last modified: 2020/06/08 10:30 by agaev