Uh oh!
There was an error while loading. Please reload this page.
feat: add cache to defineGetter - #6042
Conversation
Adding this cache to the defineGetter function has several implications: Performance Improvement: The getter function will only be called once, and its result will be stored. Subsequent accesses to the property will return the cached value, avoiding the cost of repeatedly executing the getter function. Consistency: The value returned by the getter will remain consistent for the lifetime of the property on the object. If the getter logic involves any computation that could potentially change, this cache will prevent any changes from being reflected in the property's value after the first access. Side Effects: If the getter function has side effects (e.g., logging, triggering other operations), these will only occur once when the value is first computed. Subsequent accesses will not trigger these side effects.
IamLizu
commented
Jan 15, 2025
Referencing expressjs/discussions#306 |
krzysdz
commented
Aug 8, 2026
Well, I think one of the reasons why some properties are getters is that they reflect changes to the source object (e.g.
Caching getters would be a breaking change and definitely cannot land in 5.x. |
Adding this cache to the defineGetter function has several implications:
Just for POC, I have enabled only on
query