I'm usually in favour of object/class based solutions, but ActionView::Component isn't my cup of tea at all. It's used at Github to solve problems most folks don't have, and frankly I think it goes way overboard in the wrong direction.
Most tellingly, it's not an enthusiastic participant in the framework. All the boilerplate required shows us that, and there's no convention over configuration on display - their demo application has to use an if/else to choose a component instead of any kind of polymorphism.
Take the benchmarks with a huge pinch of salt as well, because rendering a collection via partials is already very efficient.
Note that the PR that has been merged is *not* ActionView::Component but support for the `render_in` hook that it depends on.