Closed Bug 1840424 Opened 3 years ago Closed 1 year ago

Add time zone cache for Temporal

Categories

(Core :: JavaScript: Standard Library, task, P3)

task

Tracking

()

RESOLVED FIXED
142 Branch
Tracking Status
firefox142 --- fixed

People

(Reporter: anba, Assigned: anba)

References

(Blocks 1 open bug)

Details

(Keywords: perf-alert)

Attachments

(2 external files)

Bug 1840374 adds support for string time zones, but doesn't include any time zone cache. The ability to cache built-in time zones was a main motivation for supporting string time zones. See also https://github.com/tc39/proposal-temporal/pull/2482.

Severity: -- → N/A
Priority: -- → P3

Add a global cache for the default time zone object. This avoids creating
new ICU time zone objects when using the default time zone in Temporal
code.

Assignee: nobody → andrebargull
Status: NEW → ASSIGNED

In addition to caching the default time zone, also add a one element cache for
named time zones. A one element cache is enough for simple test cases like in
bug 1961480.

Blocks: 1961480
Pushed by andre.bargull@gmail.com: https://github.com/mozilla-firefox/firefox/commit/58c652ad58bd https://hg.mozilla.org/integration/autoland/rev/c06722b43455 Part 1: Cache the default time zone object. r=spidermonkey-reviewers,dminor https://github.com/mozilla-firefox/firefox/commit/d403b4811f9d https://hg.mozilla.org/integration/autoland/rev/581b3e6ae4f5 Part 2: Add a one element cache for time zone objects. r=spidermonkey-reviewers,dminor

Backed out for causing SM bustages failures at DateTime.h
- Backout link

- Push with failures

- Failure log

  • Failure line:
    /builds/worker/checkouts/gecko/js/src/vm/DateTime.h:73:27: error: no member named 'intl' in namespace 'mozilla'
Flags: needinfo?(andrebargull)
Flags: needinfo?(andrebargull)
Pushed by andre.bargull@gmail.com: https://github.com/mozilla-firefox/firefox/commit/481606b34941 https://hg.mozilla.org/integration/autoland/rev/8b4161ded993 Part 1: Cache the default time zone object. r=spidermonkey-reviewers,dminor https://github.com/mozilla-firefox/firefox/commit/e2781c359c93 https://hg.mozilla.org/integration/autoland/rev/f61251bca4fc Part 2: Add a one element cache for time zone objects. r=spidermonkey-reviewers,dminor
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 142 Branch

(In reply to Pulsebot from comment #5)

Pushed by andre.bargull@gmail.com:
https://github.com/mozilla-firefox/firefox/commit/481606b34941
https://hg.mozilla.org/integration/autoland/rev/8b4161ded993
Part 1: Cache the default time zone object. r=spidermonkey-reviewers,dminor
https://github.com/mozilla-firefox/firefox/commit/e2781c359c93
https://hg.mozilla.org/integration/autoland/rev/f61251bca4fc
Part 2: Add a one element cache for time zone objects.
r=spidermonkey-reviewers,dminor

Perfherder has detected a awsy performance change caused either by this bug or Bug 1839682 or Bug 1974378.

If you have any questions, please reach out to a performance sheriff. Alternatively, you can find help on Slack by joining #perf-help, and on Matrix you can find help by joining #perftest.

Improvements:

Ratio Test Platform Options Absolute values (old vs new)
0.28% Base Content JS macosx1470-64-shippable fission 1,553,138.67 -> 1,548,770.67
0.28% Base Content JS linux1804-64-shippable-qr fission 1,555,032.00 -> 1,550,664.00
0.28% Base Content JS windows11-64-24h2-shippable fission 1,561,160.00 -> 1,556,792.00

Details of the alert can be found in the alert summary, including links to graphs and comparisons for each of the affected tests.

If you need the profiling jobs you can trigger them yourself from treeherder job view or ask a performance sheriff to do that for you.

You can run all of these tests on try with ./mach try perf --alert 45916

The following documentation link provides more information about this command.

Keywords: perf-alert
QA Whiteboard: [qa-triage-done-c143/b142]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: