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

Fast recompiles to JavaScript #4527

Closed
sethladd opened this issue Aug 15, 2012 · 21 comments
Closed

Fast recompiles to JavaScript #4527

sethladd opened this issue Aug 15, 2012 · 21 comments
Assignees
Labels
P2 A bug or feature request we're likely to work on type-enhancement A request for a change that isn't a bug web-dart2js

Comments

@sethladd
Copy link
Contributor

Use Case from existing customer:

Developing with Dartium works well enough. At the end of the development, the engineer needs to compile to JavaScript for final testing. Often times, this code works fine, but the troubles appear when testing across different browsers.

Once cross-browser testing enters into the picture, compiling to JavaScript occurs frequently and often. The current dart2js compile time is slower than we wish.

Feature Request:

Make recompiles to JavaScript much much faster. This will significantly speed up cross-browser testing (an important step in any major web app development cycle)

@kasperl
Copy link

kasperl commented Sep 3, 2012

Added this to the Later milestone.

@kasperl
Copy link

kasperl commented Oct 17, 2012

Removed this from the Later milestone.

@kasperl
Copy link

kasperl commented Oct 17, 2012

Added MaybeStale label.

@kasperl
Copy link

kasperl commented Oct 17, 2012

Added this to the M2 milestone.

@kasperl
Copy link

kasperl commented Oct 17, 2012

Removed Type-Enhancement label.
Added Type-Defect label.

@peter-ahe-google
Copy link
Contributor

Removed this from the M2 milestone.
Added this to the Later milestone.
Removed MaybeStale label.
Added AssumedStale label.

@sethladd
Copy link
Contributor Author

sethladd commented Nov 8, 2012

This is not stale, this is a real issue. Talking to our internal customers, they are asking for edit/reload cycles with dart2js to approach edit/reload cycles for Dartium.

I admit "much faster" is undefined, but I didn't want to throw a number down.

Can we keep this open so we have something to reference? If it helps I can arrange a meeting with our internal customers to get more specifics.


Added Triaged label.

@DartBot
Copy link

DartBot commented Mar 24, 2013

This comment was originally written by beatg...@gmail.com


Just my 2 cents.

For me, dart2js takes about 8 seconds on a file < 100 lines which imports dart:html, dart:json and dart:uri. My resulting JS files are around 8000 lines (< 300k). I currently have two pages, so two dart files takes 16 seconds, which is a little long for debugging. If possible, I would like to see this build in less than 3 seconds.

This should probably be a separate issue, but it would also be nice for dart2js to refuse to build if the file hasn't changed.

@sethladd
Copy link
Contributor Author

Hi beatgammit, have you tried to minify the output? See http://blog.sethladd.com/2013/03/i-shrunk-my-dart-to-js-code-by-11x-and.html for tips for turning on minification. Hope that helps!

@DartBot
Copy link

DartBot commented Mar 28, 2013

This comment was originally written by beatgammit...@gmail.com


Minifying isn't the problem, which I'll do when I deploy. The problem is how long it takes to compile to JS.

@kasperl
Copy link

kasperl commented May 23, 2013

Added TriageForM5 label.

@kasperl
Copy link

kasperl commented May 28, 2013

Removed TriageForM5 label.

@kasperl
Copy link

kasperl commented Jul 10, 2014

Removed this from the Later milestone.
Added Oldschool-Milestone-Later label.

@sethladd
Copy link
Contributor Author

Hi Peter,

Is there a bug for "incremental compilation" ? I think I should mark this a dupe of that issue.


cc @peter-ahe-google.

@kasperl
Copy link

kasperl commented Aug 4, 2014

Removed Oldschool-Milestone-Later label.

@peter-ahe-google
Copy link
Contributor

Let's make this the bug for "incremental compilation".

I'll try to keep this bug updated with progress, but somehow it is more natural to post about my progress on Google+. See https://plus.google.com/u/0/+PetervonderAh%C3%A9/posts/dXix8pdbotE


Removed Type-Defect label.
Added Type-Enhancement, Started labels.

@DartBot
Copy link

DartBot commented Aug 4, 2014

This comment was originally written by @Emasoft


I think that the real issue here is that there are still problems generating js code that works across all browsers.
The team should be implement polyfills to flatten all the differences and bugs of the various browsers. Dart should offer the same advantage of GWT: browser abstraction. And now with the Polyfills becoming a standard, the Dart team should make the differences between the browsers disappear and make the Dart code run as it were always running on an ideal browsers with the latest W3C specifications even if they are not implemented yet.
Just take all the features listed as missing in http://caniuse.com and write a polyfill for it. Only then the programmers can work with Dart without being slowed down by a forced Dart2javascript additional compilation.
We are entering in the "Polyfill Era" for the web, when the incompatibilities between the browsers that haunted the world are finally going to disappear. Dart should be the first development platform born for the new web.

@peter-ahe-google
Copy link
Contributor

@fmuaddib, I think you're talking about a different feature request, and I'd encourage you to file a new bug report for that. Making JavaScript compilation fast is a worthy goal in itself.

@DartBot
Copy link

DartBot commented Aug 4, 2014

This comment was originally written by @Emasoft


@ahe : I just opened a more specific issue ( issue #20346 ). Thank you.
https://code.google.com/p/dart/issues/detail?id=20346

@kevmoo kevmoo added P2 A bug or feature request we're likely to work on type-enhancement A request for a change that isn't a bug and removed Priority-Medium labels Mar 1, 2016
@matanlurey
Copy link
Contributor

So uh, @vsmenon do we want to close this as "DDC"? :)

@vsmenon
Copy link
Member

vsmenon commented Dec 1, 2017

sgtm

@vsmenon vsmenon closed this as completed Dec 1, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P2 A bug or feature request we're likely to work on type-enhancement A request for a change that isn't a bug web-dart2js
Projects
None yet
Development

No branches or pull requests

7 participants