Hi, > On Aug 14, 2016, at 9:14 AM, Max Leske <maxle...@gmail.com> wrote: > > Awesome Denis! > >> On 13 Aug 2016, at 10:54, Tudor Girba <tu...@tudorgirba.com> 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 <dionisi...@gmail.com> 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."