On Mon, May 9, 2011 at 9:20 AM, Daniel Lucraft <dan.lucr...@gmail.com> wrote: > On Monday, 9 May 2011 at 14:58, Thomas E Enebo wrote: > > On Mon, May 9, 2011 at 8:16 AM, Daniel Lucraft <dan.lucr...@gmail.com> > wrote: > > * use thread times from ThreadMXBean instead of the global process > cputime (possibly only when there are multiple jruby threads as this > will slow > things down) > > This seems like a really useful improvement. Second best (and a very > close second) in the list in my opinion (behind API toggling). > > Good. It'll be interesting to see how much it slows things down. > > * add an HTML output mode > > I think it should be put in a format which can be transformed (dare I > say the format????). At a bare minimum, it should be well-formed HTML > to allow transformation. XHTML-like for easy viewing, but still a > data format so people can re-purpose the data for other types of > display.
If it is very simple well-formed HTML then I think people can use things like XSLT to transform into other formats. It will also still display, which is a bonus. > Yeah, I had a request for some kind of parseable format before. Any > suggestions? JSON/CSV/XML+XSLT? Or is there a standard for this kind of > thing? > > * make it possible to turn the API on and off during a Jruby process > execution (will need help with this one) > > I think this one will be killer. Targeting what you want to measure > is really nice. Profiling all of Rails startup to just try and > profile where a controller is spending time can be a bit much. > > Actually you can already do this. See How to Profile Blocks of Code > in http://danlucraft.com/blog/2011/03/built-in-profiler-in-jruby-1.6/ > > The improvement here is to not require that --profile.api be passed in. This > flag makes JRuby use the ProfilingDynamicMethod type instead of... whatever. > Because it is a bit slower to use that class even when profiling is not > happening, we want to not require it be turned on always. But it's hard to > swap out all the existing DynamicMethod objects when we turn the profiling > on. > In truth I don't understand much of that :), ask Charlie when he gets back, > he was pretty keen on making this change. Yeah, Actually I understand the difficulty here. We could collapse ProfilingDynamicMethod checks into our base class, but even that will be measurable (though very small -- microbenches are the only thing which shows the overhead). -Tom -- blog: http://blog.enebo.com twitter: tom_enebo mail: tom.en...@gmail.com --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email