Inlining the functions could still improve a bit the performances.
Currently inlining the read function improves the performances by about 5%. It also helps to cleanup a bit.