Both benchmark includes string allocation.
Faml::AttributeBuilder includes hash building.
(It maybe fair to include hash building for Faml::AttributeBuilder considering real world situation.)
But this benchmark's interest is pure speed between Faml::AttributeBuilder.build and Hamlit::AttributeBuilder.build_data. So it may be more acurate by removing that code.
benchmark/ext/build_data.rb
Both benchmark includes string allocation. Faml::AttributeBuilder includes hash building. (It maybe fair to include hash building for Faml::AttributeBuilder considering real world situation.)
But this benchmark's interest is pure speed between Faml::AttributeBuilder.build and Hamlit::AttributeBuilder.build_data. So it may be more acurate by removing that code.
BEFORE
AFTER