calloc should be the most efficient way to obtain initialized memory, that should be true for any system worth caring about.
worst case it is implemented as malloc + memset(0) just like the the code this replaces.