Firefox/Projects/Startup Time Improvements/joelr notes: Difference between revisions

no edit summary
No edit summary
Line 9: Line 9:
Created a [http://github.com/wagerlabs/firefox-startup/blob/c0b7691c60eb0455d7475aa17777edcf3ed3d605/main-entry-probe.patch static probe that fires first thing in XRE_main] and updated my [http://github.com/wagerlabs/firefox-startup/tree/master DTrace scripts] to use it.  
Created a [http://github.com/wagerlabs/firefox-startup/blob/c0b7691c60eb0455d7475aa17777edcf3ed3d605/main-entry-probe.patch static probe that fires first thing in XRE_main] and updated my [http://github.com/wagerlabs/firefox-startup/tree/master DTrace scripts] to use it.  


pid$target::function:entry probes are very slow since the have to search, potentially, thousands of functions. A USDT (static) probe is just a few NOP instructions in the code that get fixed up by DTrace as needed.  
''pid$target::function:entry'' probes are very slow since DTrace may have to search thousands of functions. All that search time skews elapsed time reported by ''timestamp''. USDT (static) probes are just a few NOP instructions in the code that get fixed up by DTrace as needed so they work much faster.  


= Previous statuses =  
= Previous statuses =  
Line 54: Line 54:
sudo ./cold.sh static-init.d
sudo ./cold.sh static-init.d
</pre>
</pre>


= DTrace tips and tricks =
= DTrace tips and tricks =
109

edits