You may have wondered how Ruby objects are represented in the CRuby code. Not really? I would say writing a C extension is a great way to explore and learn how CRuby handles different object types. This session will re-implement our own Hash class, explain basic types in the CRuby, compare performance between native Hash, pure C++ implementation, and the C extension version, and discuss memory layouts and consumption in Ruby. The audience will also become more comfortable with the CRuby code through this session. Experience with C is not required.