Hey !

I apologize for the cross post, I do this because I think this mail is
useful for both teams.

2013 has been a great year for the developer tools. As a regular user of
Firebug and now of the Developer tools, I can see the tremendous
improvements that happened this year.

Now is a great time to write a wishlist for 2014. This is only a
developer's wishlist, nothing more.

In 2013 we've mainly seen improvement in the Devtools itself. Now in
2014 it should be the year where Devtools engineers gets to talk with
other team's engineers (that's why I CC the js engine folks as well). I
know this is already happening, but maybe not enough?

So here is my wishlist (please cope with any inacuraccies I could make):
* have diagnostics about what happens within the JS engine:
  + when and why objects are handled as Hashmap instead of Structs (why
=== which JS code is producing this)
  + when and why functions are deoptimized

* have diagnostics about what happens in the memory and other GC-related
stuff
  + know when a GC happens (see below for the Profiler)
  + have a tool that shows the memory consumption over time (à la
jconsole, cf [1], or visualvm [2])
  + have a tool that shows the various memory generations in a runtime
way (à la visualGC [3])
  + (you can see I did some Java in the past ;) )
  + best of the best: show the JS locations where the most object
creations and deletions happen

* Have a web developer-friendly profiler
  + show the main events happening while a webpage is rendering: css
refresh styles, reflow, repaint
  + ideally we should also see _why_ these events are happening, tracing
back to a JS line
  + show when a GC happens, show also why this happens if possible and
if it makes sense

[1]
http://docs.oracle.com/javase/7/docs/technotes/guides/management/figures/memtab.gif
[2] http://www.cubrid.org/files/attach/images/220547/126/316/visual-vm.png
[3]
http://www.cubrid.org/files/attach/images/220547/126/316/visual-gc-execution.png

I can file bugs for all this if they don't already exist, but what I'd
like is to have someone from your team that will make (part of) my
dreams happen.

The bottom line is: we probably have smaller teams than our competitors,
and that's exactly why we can be better: we can easily talk to each
other, we can be more agile.

Thanks for reading, have a great party for the end of year! 2014 will be
a great year.
-- 
Julien

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
dev-tech-js-engine-internals mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-js-engine-internals

Reply via email to