diff --git a/docs/_pages/performance.md b/docs/_pages/performance.md index 2158bda..076ce61 100644 --- a/docs/_pages/performance.md +++ b/docs/_pages/performance.md @@ -45,6 +45,7 @@ Table access for field lookup is optimized in Luau using a mechanism that blends As a result, field access can be very fast in Luau, provided that: +- The field name is known at compile time. To make sure this is the case, `table.field` notation is recommended, although the compiler will also optimize `table["field"]` when the expression is known to be a constant string. - The field access doesn't use metatables. The fastest way to work with tables in Luau is to store fields directly inside the table, and store methods in the metatable (see below); access to "static" fields in classic OOP designs is best done through `Class.StaticField` instead of `object.StaticField`. - The object structure is usually uniform. While it's possible to use the same function to access tables of different shape - e.g. `function getX(obj) return obj.x end` can be used on any table that has a field `"x"` - it's best to not vary the keys used in the tables too much, as it defeats this optimization.