<html><head><style type='text/css'>p { margin: 0; }</style></head><body><div style='font-family: times new roman,new york,times,serif; font-size: 12pt; color: #000000'><blockquote style="color: rgb(0, 0, 0); font-family: Helvetica, Arial, sans-serif; font-size: 12pt; border-left-width: 2px; border-left-style: solid; border-left-color: rgb(16, 16, 255); margin-left: 5px; padding-left: 5px; font-weight: normal; font-style: normal; text-decoration: none;"><div dir="ltr"><div></div><div id="DWT153">Studying the API of URCU it seems that it's mostly intended for link-based data structures, such a lists. Suppose I have a large struct that is often accessed by many readers, and some writers that occasionally update few fields each time. If I understand correctly, using URCU, the writers would have to make a copy of the struct on each write, make the changes, and then publish the updated version. This is wasteful for small updates to a large struct.</div></div></blockquote><font face="Helvetica, Arial, sans-serif">RCU / URCU is efficient for read-mostly structures. In that case, copying a large struct may not be such a problem since it is infrequent. You also have the option of splitting the structure into smaller independently updated ones.</font><blockquote style="color: rgb(0, 0, 0); font-family: Helvetica, Arial, sans-serif; font-size: 12pt; border-left-width: 2px; border-left-style: solid; border-left-color: rgb(16, 16, 255); margin-left: 5px; padding-left: 5px; font-weight: normal; font-style: normal; text-decoration: none;"><div dir="ltr"><div></div></div></blockquote></div></body></html>