Thanks for the quick response.

> Why you can say that a hash's size has something to do with its age?

Thanks for pointing it out, I admit that there are some problems with
this statement. I will go to measure it.

> > 1. We don't have to create st_table for small hash(but it will when necessary)
>
> As you should have been aware, we already do something very similar to struct LinearTable (see MAX_POWER2_FOR_TABLES_WITHOUT_BINS if you have missed).  Is this really a benefit?
>

Yes, I know it.
It is not about a optimization for st_table, the question is that
transient heap has to know the obj builtin type,
like T_ARRAY, or T_HASH, LinearTable serves as a temporary space to
store small hash objs which
request space from transient heap.
st_table is more like a data structure with general purposes widely
used in internal ruby. It will need massive
rewriting if bind it with hash.

> I find it difficult to navigate the repository.  Where can I find the exact patch that we should look at?  Is it 0002-add-transient-heap-linear-table-support.patch ?

Sorry for the inconvenience, I merged separate patches into one, you
can go to check this one:
https://github.com/Tacinight/ruby-gsoc-2018/blob/master/patch/add-hash-support-for-transient-heap.patch

Thanks
Yimin

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>