I don't know if I worded it correctly, but for a simple example let's say we have a collection of Point3 values (say 1M).
We have a method called Offset that adds another Point3 value on these values, returning new Point3 values. Let's say the method is static.
The Point3 type is immutable.
The question is, should I have a method like this:
public static Point3 Offset ( Point3 a, Point3 b )
or
public static IEnumerable<Point3> Offset ( IEnumerable<Point3> a, IEnumerable<Point3> b )
To me #1 seems like a better choice to break the task into separate tasks for different threads.
What do you think? And advantages to #1 or #2?