add `encoding`
update benchmarks