Hi -
My off label usage has a higher than normal hit for accessing the variables.
What are the pros/cons of changing the code to do one value() call per operation per parameter vs one per each instance check?
Currently every is{X} call does a value call.
public Object lessThan(final Object a, final Object b) {
if (isBool(a) && isBool(b)) return lessThan(bool(a), bool(b));
if (isStr(a) && isStr(b)) return lessThan(str(a), str(b));
if (isI(a) && isI(b)) return lessThan(i(a), i(b));
if (isL(a) && isL(b)) return lessThan(l(a), l(b));
if (isF(a) && isF(b)) return lessThan(f(a), f(b));
if (isD(a) && isD(b)) return lessThan(d(a), d(b));
if (isBI(a) && isBI(b)) return lessThan(bi(a), bi(b));
if (isBD(a) && isBD(b)) return lessThan(bd(a), bd(b));
return null;
}
private boolean isBool(final Object o) { return is(o, Boolean.class); }
private boolean is(final Object o, final Class<?> c) {
return c.isInstance(value(o));
}
vs
public Object lessThan(final Object aa, final Object bb) {
Object a = value(aa);
Object b = value(bb);
if (isBool(a) && isBool(b)) return lessThan(bool(a), bool(b));
if (isStr(a) && isStr(b)) return lessThan(str(a), str(b));
if (isI(a) && isI(b)) return lessThan(i(a), i(b));
if (isL(a) && isL(b)) return lessThan(l(a), l(b));
if (isF(a) && isF(b)) return lessThan(f(a), f(b));
if (isD(a) && isD(b)) return lessThan(d(a), d(b));
if (isBI(a) && isBI(b)) return lessThan(bi(a), bi(b));
if (isBD(a) && isBD(b)) return lessThan(bd(a), bd(b));
return null;
}
private boolean is(final Object o, final Class<?> c) {
return c.isInstance(o);
}
Hi -
My off label usage has a higher than normal hit for accessing the variables.
What are the pros/cons of changing the code to do one value() call per operation per parameter vs one per each instance check?
Currently every is{X} call does a value call.
vs