So we always allocate zeroed memory here regardless of `need_init`? Can this be less efficient on some platforms? That is, what is a modern platform?