On Mon, Apr 25, 2011 at 5:39 PM, Alexandre Bergel <[email protected]>wrote:
> All Smalltalk (and Java profilers) tells us which method call stack appears > the most during an execution. This is pretty poor. "What are the objects > that makes an execution slow?" and "Which are message arguments responsible > of a slow execution?" are the two questions I will probably work on for the > next two years. We already have some preliminary: > http://www.bergel.eu/download/papers/Berg10aProfiling.pdf > More to come in a few days. > > Same thing for debugging. Why should I see the execution as a bunch of > stack frame? > "How to set a breakpoint based on the object state?" > self haltIf: > "Are all objects responsible for an odd execution or is there just a > particular one?" > This is one of the things I was doing with the "used objects" stuff, where I used a bit (the last one) in the Object Header and I modify the VM to intercept all messages sent to such object and flag it as "used" when they receive a message. So you could do: | results | results := UsedObjectDiscover trace: [ self blah ]. and results understands amountOfUsedObjects, amountOfUnusedObjects, blah You can also query which objects where used for the [ self balh] in this case... > "What is the exact difference of execution if I slightly change a method?" > "If I call #foo it works, if I call #foo2 it does not work. Why? What are > the objects that appears with #foo2 that do not appear with #foo?" > All these questions are essential in my opinion. > > I agree. > Code profiler and code debugger are pretty poor. I can continue with test > code coverage tools. > After all, Computer Science is a pretty young science. > > Cheers, > Alexandre > > > > On 25 Apr 2011, at 07:34, Craig Latta wrote: > > > > > Hi Alexandre-- > > > >> Debugging, as well as profiling, is a topic that everybody got it > >> wrong. We still debug an application in oo in the same way that > >> people debugged their C program: thinking in term of call stack and > >> stack frame instead of objects. > > > > So tell us more! :) How do you express causality? > > > > > > -C > > > > -- > > Craig Latta > > www.netjam.org/resume > > +31 06 2757 7177 > > + 1 415 287 3547 > > > > > > > > > > -- > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: > Alexandre Bergel http://www.bergel.eu > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. > > > > > > > -- Mariano http://marianopeck.wordpress.com
