[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: RE: Casual object churn and efficiency.
- From: "Marius Gheorghe" <mgheorghe@...>
- Date: Fri, 25 Jun 2004 12:47:39 -0400
> local function vector3_add(self, o)
> local rtn = self();
> for i=1,3 do
> rtn[i] = self[i] + o[i];
> end
> return rtn;
> end
>
> The question is, can anyone think of a way to either:
> * Alter my object usage and design patterns to create fewer
> short-lived objects while not overly killing convenience
Here is a possible idea to eliminate the temporary objects, however I am not
sure if it would work in more complex expression evaluations:
local vector3_add_rtn = {}
local function vector3_add(self, o)
for i=1,3 do
vector3_add_rtn[i] = self[i] + o[i];
end
return vector3_add_upvalue;
end
Each binary operator metamethod would have to have its own vector3_xxx_rtn
upvalue.
Marius