NullVoxPopuli
NullVoxPopuli
I uploaded a performance profile captured with firefox -- ya'll can inspect and poke about here: - https://profiler.firefox.com/public/0j1cpt1gdzgt86pdt8r39vhke60hx1vyv9kv498/calltree/?globalTrackOrder=0w8&hiddenGlobalTracks=1w7&hiddenLocalTracksByPid=74769-0wye~26560-0w2~75016-0w4~26668-0wi~26577-0wi~26667-0wi~75019-0wo~26557-0wq~75022-0wo&implementation=js&invertCallstack&thread=C5&v=10 Of note, these are the top timings: 
With no other changes, if I just use glimmer's prod assets _as dev_ we get a nice speed boost in both production and development environments in the ember apps 
I've added 5.11 and 6.0-alpha.1 And did a 6x CPU slowdown to try to account for random machine variance https://ember-performance-testing-prod.pages.dev/report?benchmarks=%5B%22Render%20complex%20html%20(%40glimmer%2Fcomponent)%22%5D&clear=0&emberVersions=%5B%223.28%22%2C%224.0%22%2C%225.4%22%2C%225.5%22%2C%225.6%22%2C%225.7%22%2C%225.8%22%2C%225.9%22%2C%225.10%22%2C%225.11%22%2C%22ember-canary%22%2C%22ember-canary-custom%22%5D&timePerTest=3000 Run 1, Random  Run 2, reverse-serial, no CPU throttle...
I added another set of apps for comparing classic production builds. https://ember-performance-testing-prod-classic.pages.dev/report?benchmarks=%5B%22Render%20complex%20html%20(%40glimmer%2Fcomponent)%22%5D&clear=0&emberVersions=%5B%223.28%22%2C%224.0%22%2C%225.4%22%2C%225.5%22%2C%225.6%22%2C%225.7%22%2C%225.8%22%2C%225.9%22%2C%225.10%22%2C%225.11%22%2C%22ember-canary%22%5D&timePerTest=500 On my personal laptop, comparing with embroider: embroider:  classic:  Note: it seems it's hard to control...
Broccoli  Embroider (w/ 20 (I think) x CPU slowdown because I have a lot of machine "noise")  From this PR: https://github.com/glimmerjs/glimmer-vm/pull/1606
(or remove `getTemplateLocals` https://github.com/glimmerjs/glimmer-vm/issues/1550#issuecomment-1972012330 )
Ah! You're right! That fixes [this repro from the linearGradient issue report](https://limber.glimdown.com/edit?c=MQAgygag4gUDCSBnRBXApogXDAtCAxgIYB2A5AC4gqJoED2xAbmseQJYMh0BmIABgBs2xNIQBOUMYQAmbFuT5w%2BygOYArRCCHMY0tACMUKlWjEBuGAB5yaALYAHAYRsA%2BGCBCXEjFe48hGOQB3ACE6AA8AXgAiAAYQeIBGJNjovw9w2wFiRBiAC3Jye0wAehKgioA6IIBmSroxFRKAJli2ku8VNP8QTOyscKFiAGt8wuKyiqDquoamxIBOJZLB4WHotx7LPW5ETZ7PIdEJKVl5EDZpGNsAT0kZOVYa6JAVU8fyABUpHO4G2xiYjo5GcaAAFAtYgBKDbpA5ech0excbi7NDkGIAVgApC9EIj7Dh8HQBA0YioSdIXiV9gdPPikSi0RjogscXiCUSSWTomI0FSQDS4R5LCUjuJ7mdWLTPCUdns-HDLPg2GJ8AJaPgotFMS98DcsS8xDEACwvbhsAQCGIoMQCMGkYC3SUfGqkGGC-aizpuPwIm4amWdAA0IAAVC5MHlCIgwZ0oSAAN7CkB5NBsFQFTAgZKxbEWHoAXz9HXIAbQblFNgcTlcMGUinrqg0WjYOmsdkcoK9nThgTQoQiMXiKRzqThfRyYyKpXKVVq9UaLTasQ6Pm6-knAyGo2iBRnk3nsyXi2WqxGsK28plIvFjXe50u1zuD9YzRebwe8m%2BJEQfzEAK8sCoIQtCl50vSBJMjQLLsiADKEsSpLGtEFICAKQoQZBjI8MyMRsri8GckhPJ8hhN6ynen5SuQMqiteipbCqaoagQ2q6gQBo6kaprmpa1rRLa9qOs6r7kM07rUl6a4qL6Ir4uWQY%2BKGEZRjGcY%2BAmyZ0mmGZZmOeYFv4xYiqWilWCU1ZdnWDZwJYeRiL6DbqJo2hoDAxI5JQd4gJEIDSHQ%2BAoLY8iVPgfKggAohqIWsA6d4uvI7oWJ5%2BKpoQ%2BDDL5-BWAlYkXFc0SiV%2BrAfmJP6-P8gLATYoEwj2UG4TBWKEQhXLIeSlJSX6CHQei%2BFwW1JEoWR3WinlJW0XwFhWFZtYVj1Ph9sEYTaiOY5jhuGRZFOe7jLOUwzIuTStO0nRbb0O3bms04THO0wLnMJSngsKw7uBIoMXSiY-dGmWFgDSpymguz7EqzHqpq7F6lxHEoWaIAWlaNp2g6TovpNkmeiWPpwPJZaBnCIbhpG0axvGSYprpmbkNmub5nCJmygphNVp281uLZQA&format=glimdown) https://github.com/glimmerjs/glimmer-vm/issues/1550
We do still need to fix math elements tho: #1593
- a prototype here: https://ember-twiddle.com/f5eae52862388554495f82195f15471f?openFiles=controllers.application%5C.js%2C - near-0-cost translations - rendering boxed values - initial thread in discord: https://discord.com/channels/480462759797063690/485447409296736276/1068700935242653706