Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create performance benchmarks for DevTools #6552

Open
kenzieschmoll opened this issue Oct 18, 2023 · 9 comments
Open

Create performance benchmarks for DevTools #6552

kenzieschmoll opened this issue Oct 18, 2023 · 9 comments
Assignees
Labels
devtools app performance Related to the performance of the DevTools app (not the Performance page) P2 important to work on, but not at the top of the work list. testing

Comments

@kenzieschmoll
Copy link
Member

See package https://pub.dev/packages/web_benchmarks. We will need somewhere to submit our benchmark numbers to. Flutter uses Skia Perf so maybe we can do this for DevTools too.

CC @mkustermann @kevmoo @sigmundch adding these benchmarks will help with the dart2wasm investigation.

@kenzieschmoll kenzieschmoll added testing devtools app performance Related to the performance of the DevTools app (not the Performance page) labels Oct 18, 2023
@kevmoo
Copy link
Contributor

kevmoo commented Oct 18, 2023 via email

@kenzieschmoll
Copy link
Member Author

@kevmoo @mkustermann @srujzs @sigmundch

What types of performance can we expect dart2wasm to improve? It would be good to get a small set of benchmarks put together that we expect to show improvements with dart2wasm. For example, do we expect IPL to improve? overall UI perf (scrolling, page transitions, etc.)? Business logic? RPC messaging to / from the VM service? Json parsing? etc.

We have some known expensive operations like collecting a heap snapshot over the VM and parsing it, but I'm not sure where we can expect perf improvements from wasm

@kevmoo
Copy link
Contributor

kevmoo commented Nov 17, 2023

Great question, @kenzieschmoll ! Ideally we'd see improvements across the board. Everything you list should get better–or, hopefully–not worse!

@kevmoo
Copy link
Contributor

kevmoo commented Nov 17, 2023

Starting with IPL is great. Any work we could do to track janking frames would be great, too.

@kenzieschmoll
Copy link
Member Author

Do we have any IPL benchmarks for other Dart / Flutter products we could use as an example?

@mkustermann
Copy link
Member

As @kevmoo says, we're interested in benchmarks that are a proxy for user experience of DevTools. The set of benchmarks that would (if dart2wasm is on-par of better than dart2js) convince DevTools team to enable WASM for end users. If dart2wasm is meaningfully worse anywhere, we'd like to know about it and work on it.

Do we have any IPL benchmarks for other Dart / Flutter products we could use as an example?

@yjbanov What benchmarking infrastructure does flutter use for measuring IPL / ...?

@mkustermann
Copy link
Member

/cc @osa1

@kevmoo
Copy link
Contributor

kevmoo commented Nov 30, 2023

I've managed to wire up IPL measurements with Google Analytics.

function() {
	if (window.performance && window.performance.getEntriesByType) {
		var entries = window.performance.getEntriesByType("navigation");
		if (entries.length > 0) {
			var navTiming = entries[0];
			var pageLoadTime = navTiming.loadEventEnd - navTiming.startTime;
		return Math.round(((pageLoadTime / 1000) + Number.EPSILON) * 100) / 100;
		}
	}
}

https://measureschool.com/track-ga4-page-load-time/

Wiring it up is...interesting. Not sure if we want to move to tag manager for this.

But I'm happy to stumble through it with someone.

For devtools, I feel there are better places to wire up analytics. Like time to load a performance dump, etc.

@kevmoo
Copy link
Contributor

kevmoo commented Jun 27, 2024

web_benchmarks is now published with Wasm support. Are you unblocked @kenzieschmoll ?

@elliette elliette added the P2 important to work on, but not at the top of the work list. label Jul 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
devtools app performance Related to the performance of the DevTools app (not the Performance page) P2 important to work on, but not at the top of the work list. testing
Projects
None yet
Development

No branches or pull requests

4 participants