reduce potential gc
extract benchmark to a new proj