Does `lazy val` has performance overhead? I agree `lazy val` can make the code clearer here,   but `dataDeserialize` can be called many times if there are lots of shuffle blocks. I'm not a scala expert, please correct me if I am wrong.