use perforate for benchmarks