I think the best way to answer your question would be to make a series
of test cases/benchmarks. Having said that I do think that instead of
passing data around, pass the index (to the position in an Array/
Vector/DataCollection/etc) instead of the whole data set. I would
think this would be the most efficient way to do such things. Could be
wrong, so be worth testing.
NativeSignal: if you're going to go and use signals it's best to keep
a consistent API though out your code base. If performance is critical
for your application, test on the device before removing or changing.
Try not to pre-optimise as it can make development a lot harder in the
long run.