The time consuming part of griddata3 function is delaunay tessellation. If there are multiple volumes having the same scattered coordinates, griddata3ev (ev: extended version) func makes tessellation once and apply it to all volumes.
If the volumes are too large, griddata3ev function gives memory error as griddata3 does. To get rid of such errors, griddata3evs can be used. It divides the whole volume to sub volumes, apply each of them griddata3ev, saves the results then merges them.
Here is the link: download