big speed up in sparse scenario