updated protocol doc
use ben for some benchmarks
only use ben for benchmarks
use buffer#slice instead of copy