On Mar 18, 2015, at 6:46 AM, Manfred Kröhnert <mkroehnert42@googlemail.com> wrote:Thanks Alex,adding the RTCache line to the script helps preventing the unresponsiveness in the most recent Moose image.It's only that this feels more like a workaround since this is not remotely obvious for a beginner like me :-)Would it be possible to let the preview tab in the inspector do something like this by default?Then it would work out of the box.Thanks again,Manfred_______________________________________________On Wed, Mar 18, 2015 at 12:45 AM, Alexandre Bergel <alexandre.bergel@me.com> wrote:Hi Manfred,
I think have fixed your problem.
Consider this script:
-=-=-=-=-=-=-=-=-=-=-=-=
cpuFile := '/Users/alexandrebergel/Downloads/cpu.trace' asFileReference.
cpuReader := NeoCSVReader on: (cpuFile readStream).
cpuReader separator: $|.
cpuHeader := cpuReader readHeader.
cpuData := cpuReader upToEnd.
g := RTGrapher new.
g extent: 300@200.
ds := RTDataSet new.
ds points: (cpuData collect: [ :each |
| timestamp cpuUsage |
timestamp := (each at: 1) asNumber.
cpuUsage := (each at: 4) asNumber.
Array braceWith: timestamp with: cpuUsage]).
ds x: #first.
ds y: #second.
ds connectColor: Color blue.
g add: ds.
g addDecorator: RTHorizontalTickLineDecorator new.
g addDecorator: RTVerticalTickLineDecorator new.
g build.
RTCache new cacheView: g view.
g view.
-=-=-=-=-=-=-=-=-=-=-=-=
The magic line here is "RTCache new cacheView: g view.”
I will describe this in another thread.
Cheers,
Alexandre
> On Mar 17, 2015, at 1:47 PM, Manfred Kröhnert <mkroehnert42@googlemail.com> wrote:
>
> Hi Alexandre,
>
> seems like I forgot to add the link.
> So here it is:
>
> https://drive.google.com/file/d/0B-EyIKkOzbhybjdyU2dsa29EODA/view?usp=sharing
>
> Thanks for taking a look,
> Manfred
>
>
>
> On Tue, Mar 17, 2015 at 3:24 PM, Alexandre Bergel <alexandre.bergel@me.com> wrote:
> Hi Manfred,
>
> Can I have access to the cpu.trace file? I promise to not share it :-)
>
> Alexandre
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>> On Mar 17, 2015, at 7:14 AM, Manfred Kröhnert <mkroehnert42@googlemail.com> wrote:
>>
>> Thanks for the response so far.
>>
>> Here is a link to the file I am using with the script from my first post.
>> The only thing which needs to be done is to create a Filesystem object for the file with
>>
>>
>> cpuFile := 'path/to/cpu.trace' asFileReference
>> cpuReader := NeoCSVReader on: (cpuFile readStream).
>> cpuReader separator: $|.
>> cpuHeader := cpuReader readHeader.
>> cpuData := cpuReader upToEnd.
>>
>> g := RTGrapher new.
>> g extent: 300@200.
>>
>> ds := RTDataSet new.
>> ds points: (cpuData collect: [ :each |
>> | timestamp cpuUsage |
>> timestamp := (each at: 1) asNumber.
>> cpuUsage := (each at: 4) asNumber.
>> Array braceWith: timestamp with: cpuUsage]).
>> ds x: #first.
>> ds y: #second.
>> ds connectColor: Color blue.
>>
>> g add: ds.
>> g addDecorator: RTHorizontalTickLineDecorator new.
>> g addDecorator: RTVerticalTickLineDecorator new.
>> g build.
>> g view canvas.
>>
>>
>> The responsiveness does get back to normal when I switch from the Canvas view to the Raw or Meta view of the TRCanvas object but also when the tab of the TRCanvas object gets closed.
>>
>> To measure the memory usage of the vm I used the following statement: ((Smalltalk vm getParameters at: 3) / 1000000) asInteger
>> This is adapted from the following SO answer: http://stackoverflow.com/questions/8556207/in-pharo-how-can-you-measure-the-systems-current-total-memory-consumption
>> Before executing the script the statement shows 76 and afterwards 203.
>>
>> Wrapping the whole script in 'MessageTally spyOn: []' gives me the following report:
>> https://drive.google.com/file/d/0B-EyIKkOzbhydU9PNzVjMmZ5d3c/view?usp=sharing
>>
>> Thanks for your help so far,
>> Manfred
>>
>>
>> On Tue, Mar 17, 2015 at 7:32 AM, Tudor Girba <tudor@tudorgirba.com> wrote:
>> How much RAM is what using?
>>
>> Doru
>>
>> On Tue, Mar 17, 2015 at 7:09 AM, phil@highoctane.be <phil@highoctane.be> wrote:
>> How much RAM is this using?
>>
>> Phil
>>
>> Le 17 mars 2015 07:03, "Tudor Girba" <tudor@tudorgirba.com> a écrit :
>>
>> Also, does the responsiveness get better after you close the visualization?
>>
>> Cheers,
>> Doru
>>
>> On Mon, Mar 16, 2015 at 9:03 PM, Alexandre Bergel <alexandre.bergel@me.com> wrote:
>> Hi Manfred,
>>
>> You may have pin-pointing a limitation in Roassal. However, I am sure we can handle it easily. Can I have this CSV file? to reproduce the situation on my machine?
>>
>> Resend the complete script as well please :-)
>>
>> Cheers,
>> Alexandre
>> --
>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>> Alexandre Bergel http://www.bergel.eu
>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>
>>
>>
>>> On Mar 16, 2015, at 3:31 PM, Manfred Kröhnert <mkroehnert42@googlemail.com> wrote:
>>>
>>> Hi Sven,
>>>
>>>
>>>
>>> On Mon, Mar 16, 2015 at 7:14 PM, Sven Van Caekenberghe <sven@stfx.eu> wrote:
>>> Hi Manfred,
>>>
>>> I can only help you with the NeoCSV & IO part. Here is how I would do it:
>>>
>>> [
>>> 'manfred.csv' asFileReference writeStreamDo: [ :out |
>>> (NeoCSVWriter on: (ZnBufferedWriteStream on: out)) in: [ :writer |
>>> writer separator: $|; writeHeader: #(timestamp two three cpu); fieldWriter: #raw.
>>> 130000 timesRepeat: [
>>> writer nextPut: { DateAndTime now asUnixTime. 999 atRandom. 999 atRandom. 999 atRandom } ] ] ].
>>> ] timeToRun. "0:00:00:01.917"
>>>
>>> [
>>> 'manfred.csv' asFileReference readStreamDo: [ :in |
>>> (NeoCSVReader on: (ZnBufferedReadStream on: in)) in: [ :reader |
>>> reader separator: $|; readHeader.
>>> reader addIntegerField; addIgnoredField; addIgnoredField; addIntegerField.
>>> reader upToEnd ] ].
>>> ] timeToRun. "0:00:00:01.064"
>>>
>>> I think that is acceptable for a 3Mb file.
>>>
>>>
>>> thanks for your input.
>>> This will come in handy once the files get bigger.
>>>
>>> But the problem is not in reading the file.
>>> Even when I use 'reader upToEnd' it is really fast and all following actions remain fluent.
>>>
>>> The problem I am facing is that any action I am performing _after_ drawing the graph takes several seconds.
>>> And I just noticed that switching from the Canvas to the Raw tab of the TRCanvas object makes the problem disappear.
>>> But switching to the Canvas tab itself takes several seconds (probably until the graph is rendered) and every action afterwards is getting delayed several seconds.
>>>
>>> The machine I am running this image on has 8 GB RAM and a 2.8 GHz Core i7 (mobile) processor if this information helps.
>>>
>>> Best,
>>> Manfred
>>>
>>>
>>>
>>> HTH,
>>>
>>> Sven
>>>
>>> > On 16 Mar 2015, at 17:48, Manfred Kröhnert <mkroehnert42@googlemail.com> wrote:
>>> >
>>> > Hi everyone,
>>> >
>>> > after having access to a machine running OS X 10.10.2 I started to give Moose 5.1 a try for some initial data analysis.
>>> > I used Pharo Launcher (build #24) and downloaded the Moose image with buildnumber 304.
>>> >
>>> > The task is to read a CSV log file containing around 130000 entries, each containing a timestamp, a cpu usage number, and some other information.
>>> > Everything works as expected, but the responsiveness of the image drops dramatically after executing the script in Playground with Cmd+Shift+g.
>>> > After evaluating the script it takes several seconds to get a response to any action such as opening the world menu or switching tabs in the playground.
>>> >
>>> > Is this because I am doing something very inefficient (most probably) or does this problem occur more often?
>>> > Here is the script I am using:
>>> >
>>> >
>>> > cpuReader := NeoCSVReader on: (cpuFile readStream).
>>> > cpuReader separator: $|.
>>> > cpuHeader := cpuReader readHeader.
>>> > cpuData := cpuReader upToEnd.
>>> >
>>> > g := RTGrapher new.
>>> > g extent: 300@200.
>>> >
>>> > ds := RTDataSet new.
>>> > ds points: (cpuData collect: [ :each |
>>> > | timestamp cpuUsage |
>>> > timestamp := (each at: 1) asNumber.
>>> > cpuUsage := (each at: 4) asNumber.
>>> > Array braceWith: timestamp with: cpuUsage]).
>>> > ds x: #first.
>>> > ds y: #second.
>>> > ds connectColor: Color blue.
>>> >
>>> > g add: ds.
>>> > g addDecorator: RTHorizontalTickLineDecorator new.
>>> > g addDecorator: RTVerticalTickLineDecorator new.
>>> > g build.
>>> > g view canvas.
>>> >
>>> >
>>> > I also noticed that the 'Meta' representation of an object looks very crammed since it does not use the full size available in the tab.
>>> > Should issues like this be reported somewhere else?
>>> >
>>> > Thanks for taking a look at this,
>>> > Manfred
>>> > _______________________________________________
>>> > Moose-dev mailing list
>>> > Moose-dev@iam.unibe.ch
>>> > https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>>
>>>
>>> _______________________________________________
>>> Moose-dev mailing list
>>> Moose-dev@iam.unibe.ch
>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>>
>>> _______________________________________________
>>> Moose-dev mailing list
>>> Moose-dev@iam.unibe.ch
>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>
>>
>> _______________________________________________
>> Moose-dev mailing list
>> Moose-dev@iam.unibe.ch
>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>
>>
>>
>>
>> --
>> www.tudorgirba.com
>>
>> "Every thing has its own flow"
>>
>> _______________________________________________
>> Moose-dev mailing list
>> Moose-dev@iam.unibe.ch
>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>
>>
>> _______________________________________________
>> Moose-dev mailing list
>> Moose-dev@iam.unibe.ch
>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>
>>
>>
>>
>> --
>> www.tudorgirba.com
>>
>> "Every thing has its own flow"
>>
>> _______________________________________________
>> Moose-dev mailing list
>> Moose-dev@iam.unibe.ch
>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>
>>
>> _______________________________________________
>> Moose-dev mailing list
>> Moose-dev@iam.unibe.ch
>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
>
> _______________________________________________
> Moose-dev mailing list
> Moose-dev@iam.unibe.ch
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
>
> _______________________________________________
> Moose-dev mailing list
> Moose-dev@iam.unibe.ch
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
_______________________________________________
Moose-dev mailing list
Moose-dev@iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Moose-dev mailing list
Moose-dev@iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev