ko1 / atdot.net wrote: > 1. How performance improved? There is less pointer chasing for iteration: Before: st_table_entry->rb_thread_t->st_table_entry->rb_thread_t ... After: rb_thread->rb_thread ... This is made possible by the container_of macro. I plan to use container_of in method/constant/symbol table, too (ihash in Feature #9614). > 2. Should we modify ccan/* files? Or should we sync with originals? I probably best to sync with originals. I removed parts of ccan/str/str.h we are not using, but we can use more of str.h later. I may also put ihash in CCAN so other projects may use it easily. But I am not sure about the name "ihash". > 3. What mean the name "CCAN"? Comprehensive C Archive Network - ccodearchive.net > 4. Should we use it on compile.c? Maybe. I do not know compile.c well enough... If we can reduce allocations and pointer chasing without regressions, we should use it.