added the benchmarks and optimized C