You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Cache Intl.DateTimeFormat to reduce memory footprint
Creating Intl.DateTimeFormat instances in V8 is very slow and memory heavy.
GetFormatterParts and GetCanonicalTimeZoneIdentifier are functions that
are called many times when using Temporal, and they used to create new
instances of Intl.DateTimeFormat for each call. In this commit, we cache them
using the time zone identifier as the key.
It should be noted that doing the same to SystemTimeZone was deliberately
avoided. This is due to the fact that the user's time zone may change during
the execution of a program. An example is calling Temporal.now.zonedDateTimeISO()
which should always output the correct time zone. This shouldn't be a problem
for server-sided code which usually doesn't (or rather, shouldn't) use the
time zone from the environment for calculations.
0 commit comments