optimize protocol decoder