On the surface, view looks like a slam dunk, but there's a caveat.
It all depends on whether segments you produce are going to have roughly the same lifetime.
If one segment out of, say, 100, is "special", and program later saves it (discarding the rest) then you have memory problem
(all original blocks are referred to from "special" segments, thus preventing them from GC).
Java made a full circle: with respect to strings, they at first had no support for views, then implemented slam dunk (e.g. substring could be returned as a "view" to other string - transparently for program),
but lately they changed their mind again, declared it a tragic mistake, and returned to original implementation. Exactly for the reason stated above.
Performance-wise, at the time of writing, views have no noticeable advantage over slices, but I saw i saw some inlining for views checked in just last week (maybe not released yet), it will probably help.
But this is not an issue of performance only (see above)