Open Bug 1964262 Opened 12 days ago Updated 11 days ago

Testcasing importing empty JS modules using blobs blocks 24s on the parent-process and 4s in Timer thread. Chrome is instant. (N=50k)

Categories

(Core :: DOM: File, defect)

defect

Tracking

()

People

(Reporter: mayankleoboy1, Unassigned)

References

Details

Attachments

(2 files)

Open testcase
Enter 50000 and press on the button

Firefox: https://share.firefox.dev/430pnHo (34s in total
Chrome: https://share.firefox.dev/3SlAGoG (dont even see any blips with 10x the loopcount)

Not sure where this bug should go. Tentative filing in XPCOM.
cc folks involved in timers, blobs and js modules.

this is the same testcase but without any promises, await,async, or delays (I hope).
We are basically infinitely faster here. Chrome keeps on loading teh testcase.

N=500k
Firefox: https://share.firefox.dev/42SgyRr (70s. includes reloading and cleanup)
Chrome(Partial): https://share.firefox.dev/4k2A6YU (330s+)

(In reply to Mayank Bansal from comment #0)

Firefox: https://share.firefox.dev/430pnHo (34s in total

There is a piece of TimerThread (bug 1961386) here (~10%) but the main culprit seems to be RevokeURIs which is the payload of a timer.

(In reply to Mayank Bansal from comment #1)

N=500k
Firefox: https://share.firefox.dev/42SgyRr (70s. includes reloading and cleanup)

And indeed here we do not see the TimerThread involved and thus much less calls to RevokeURIs. Note the much higher number of iterations.

Component: XPCOM → DOM: File

Assuming that such a high number of blobs is rarely to be seen in the wild.

Said that, our way of using gDataTable could really benefit from some improvement. It seems we have at least three different ways of finding entries:

and the latter two are clearly not scaling well.

Severity: -- → S4
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: