But the slowness comes from printing a too large stack, no ? Why not just limit the size of the stack being printed ?
> On 14 Aug 2016, at 09:24, Tudor Girba <[email protected]> wrote: > > Hi, > >> On Aug 14, 2016, at 9:14 AM, Max Leske <[email protected]> wrote: >> >> Awesome Denis! >> >>> On 13 Aug 2016, at 10:54, Tudor Girba <[email protected]> wrote: >>> >>> Very cool analysis! >>> >>> What would your proposal be in this case? >> >> Some ideas: >> >> - perform logging in a separate process >> - only log user interrupt once for any given time interval, i.e., while a >> previous interrupt is being logged, ignore logging for further interrupts. >> >> Alternatively: don’t log user interrupts. I don’t really see the value >> anyway. > > I kind of like the idea of not logging user interrupts. What do others think? > > Cheers, > Doru > >> Cheers, >> Max >> >>> >>> Doru >>> >>> >>>> On Aug 13, 2016, at 10:42 AM, Denis Kudriashov <[email protected]> >>>> wrote: >>>> >>>> We had discussion on reasons why cmd+. is not always working. >>>> I made simple test which shows that VM is not issue. Following code >>>> normally stops after 20 seconds: >>>> >>>> hanging := [1 seconds wait. 1 recursionTest] newProcess. >>>> hanging priority: Processor activePriority + 10. >>>> interruptor := [ 20 seconds wait. hanging suspend] newProcess. >>>> interruptor priority: Processor activePriority + 11. >>>> >>>> hanging resume. >>>> interruptor resume. >>>> >>>> Recursion method: >>>> Integer>>recursionTest >>>> self recursionTest >>>> >>>> Hanging process produces 7 million contexts on my machine: >>>> >>>> c := hanging suspendedContext. >>>> count := 1. >>>> [ c notNil ] whileTrue: [ c := c sender. count := count + 1 ]. >>>> count «7395279" >>>> >>>> But if you try to debug it by "hanging debug" you will see how it is slow. >>>> It's caused by printing stack to file. >>>> Interesting that logging is performed before opening debugger. So every >>>> time we press cmd+. we are waiting logging to see debugger. >>>> >>>> We need to change this logic. >>>> >>>> Best regards, >>>> Denis >>>> >>> >>> -- >>> www.tudorgirba.com >>> www.feenk.com >>> >>> "One cannot do more than one can do." >>> >>> >>> >>> >>> >> >> > > -- > www.tudorgirba.com > www.feenk.com > > "Yesterday is a fact. > Tomorrow is a possibility. > Today is a challenge."
