evicted zombie process from run queue
Can someone explain what does it mean or why it happens? Is that a common scenario for you? I am measuring execution time for big matrices in CogVM 4.0.0. Image is unresponsive. Cheers, Hernán
On 26 Jun 2014, at 02:48, stepharo <stepharo@free.fr> wrote: > Hi hernan > > Which image? > What did you loaded? > Can you reproduce it? - which vm? (CogVM 4.0.0 does not exist or is really old) - which OS? >> Can someone explain what does it mean or why it happens? >> Is that a common scenario for you? >> >> I am measuring execution time for big matrices in CogVM 4.0.0. Image is unresponsive. >> >> Cheers, >> >> Hernán >> > >
Yes, sorry I forgot that. Pharo 3.0 clean image Latest update: #30850, on Windows 8 The VM is the one downloaded when you do $ wget -O- get.pharo.org/30+vm | bash Then you open and press F2, Display version information, CogVM 4.0.0 from May 15 2014. Script to reproduce it: Smalltalk garbageCollect. [ | matrix rows cols tree | rows := 10000. cols := 1000. matrix := Matrix rows: rows columns: cols. 1 to: rows do: [ : r | 1 to: cols do: [ : c | matrix at: r at: c put: SmallInteger maxVal atRandom ] ]. tree := TreeModel new. tree columns: ( (1 to: cols) collect: [ : col | TreeColumnModel new displayBlock: [ : node | (node content at: col) asString ]; headerLabel: col asString ]). tree roots: ((1 to: rows) collect: [ : nrow | matrix atRow: nrow ]). tree openWithSpec ] timeToRun Hernán 2014-06-26 2:48 GMT-03:00 stepharo <stepharo@free.fr>:
Hi hernan
Which image? What did you loaded? Can you reproduce it?
Can someone explain what does it mean or why it happens?
Is that a common scenario for you?
I am measuring execution time for big matrices in CogVM 4.0.0. Image is unresponsive.
Cheers,
Hernán
he, you are trying to open a tree with 1000 columns and 10000 rows. that will never work, not like that. Esteban On 26 Jun 2014, at 09:45, Hernán Morales Durand <hernan.morales@gmail.com> wrote:
Yes, sorry I forgot that. Pharo 3.0 clean image Latest update: #30850, on Windows 8 The VM is the one downloaded when you do
$ wget -O- get.pharo.org/30+vm | bash
Then you open and press F2, Display version information, CogVM 4.0.0 from May 15 2014.
Script to reproduce it:
Smalltalk garbageCollect. [ | matrix rows cols tree | rows := 10000. cols := 1000. matrix := Matrix rows: rows columns: cols. 1 to: rows do: [ : r | 1 to: cols do: [ : c | matrix at: r at: c put: SmallInteger maxVal atRandom ] ].
tree := TreeModel new. tree columns: ( (1 to: cols) collect: [ : col | TreeColumnModel new displayBlock: [ : node | (node content at: col) asString ]; headerLabel: col asString ]). tree roots: ((1 to: rows) collect: [ : nrow | matrix atRow: nrow ]). tree openWithSpec ] timeToRun
Hernán
2014-06-26 2:48 GMT-03:00 stepharo <stepharo@free.fr>: Hi hernan
Which image? What did you loaded? Can you reproduce it?
Can someone explain what does it mean or why it happens? Is that a common scenario for you?
I am measuring execution time for big matrices in CogVM 4.0.0. Image is unresponsive.
Cheers,
Hernán
Why not? Do you know a better grid morph? I have tested several ones but there is no way to visualize big matrices in Pharo (I am avoiding to switch to VisualWorks for now). Cheers, Hernán 2014-06-26 9:51 GMT-03:00 Esteban Lorenzano <estebanlm@gmail.com>:
he, you are trying to open a tree with 1000 columns and 10000 rows. that will never work, not like that.
Esteban
On 26 Jun 2014, at 09:45, Hernán Morales Durand <hernan.morales@gmail.com> wrote:
Yes, sorry I forgot that. Pharo 3.0 clean image Latest update: #30850, on Windows 8 The VM is the one downloaded when you do
$ wget -O- get.pharo.org/30+vm | bash
Then you open and press F2, Display version information, CogVM 4.0.0 from May 15 2014.
Script to reproduce it:
Smalltalk garbageCollect. [ | matrix rows cols tree | rows := 10000. cols := 1000. matrix := Matrix rows: rows columns: cols. 1 to: rows do: [ : r | 1 to: cols do: [ : c | matrix at: r at: c put: SmallInteger maxVal atRandom ] ].
tree := TreeModel new. tree columns: ( (1 to: cols) collect: [ : col | TreeColumnModel new displayBlock: [ : node | (node content at: col) asString ]; headerLabel: col asString ]). tree roots: ((1 to: rows) collect: [ : nrow | matrix atRow: nrow ]). tree openWithSpec ] timeToRun
Hernán
2014-06-26 2:48 GMT-03:00 stepharo <stepharo@free.fr>:
Hi hernan
Which image? What did you loaded? Can you reproduce it?
Can someone explain what does it mean or why it happens?
Is that a common scenario for you?
I am measuring execution time for big matrices in CogVM 4.0.0. Image is unresponsive.
Cheers,
Hernán
you are basically creating 1000 * 100000 morphs (and complex ones). I would just do a matrix morph with just one morph and rendering the matrix in the canvas (overriding the #drawOn:) BTW, I do not think VW would work like that either: IMO, that design (pre-generating the cells) is bad and it never works. Other frameworks use a datasource design (like cocoa, swt⦠and basically all the serious frameworks I know about). and no, we do not have a default design for this kind of big components (a serious absence, IMO). Esteban On 26 Jun 2014, at 10:00, Hernán Morales Durand <hernan.morales@gmail.com> wrote:
Why not? Do you know a better grid morph?
I have tested several ones but there is no way to visualize big matrices in Pharo (I am avoiding to switch to VisualWorks for now).
Cheers,
Hernán
2014-06-26 9:51 GMT-03:00 Esteban Lorenzano <estebanlm@gmail.com>: he, you are trying to open a tree with 1000 columns and 10000 rows. that will never work, not like that.
Esteban
On 26 Jun 2014, at 09:45, Hernán Morales Durand <hernan.morales@gmail.com> wrote:
Yes, sorry I forgot that. Pharo 3.0 clean image Latest update: #30850, on Windows 8 The VM is the one downloaded when you do
$ wget -O- get.pharo.org/30+vm | bash
Then you open and press F2, Display version information, CogVM 4.0.0 from May 15 2014.
Script to reproduce it:
Smalltalk garbageCollect. [ | matrix rows cols tree | rows := 10000. cols := 1000. matrix := Matrix rows: rows columns: cols. 1 to: rows do: [ : r | 1 to: cols do: [ : c | matrix at: r at: c put: SmallInteger maxVal atRandom ] ].
tree := TreeModel new. tree columns: ( (1 to: cols) collect: [ : col | TreeColumnModel new displayBlock: [ : node | (node content at: col) asString ]; headerLabel: col asString ]). tree roots: ((1 to: rows) collect: [ : nrow | matrix atRow: nrow ]). tree openWithSpec ] timeToRun
Hernán
2014-06-26 2:48 GMT-03:00 stepharo <stepharo@free.fr>: Hi hernan
Which image? What did you loaded? Can you reproduce it?
Can someone explain what does it mean or why it happens? Is that a common scenario for you?
I am measuring execution time for big matrices in CogVM 4.0.0. Image is unresponsive.
Cheers,
Hernán
2014-06-26 10:09 GMT-03:00 Esteban Lorenzano <estebanlm@gmail.com>:
you are basically creating 1000 * 100000 morphs (and complex ones). I would just do a matrix morph with just one morph and rendering the matrix in the canvas (overriding the #drawOn:)
BTW, I do not think VW would work like that either: IMO, that design (pre-generating the cells) is bad and it never works. Other frameworks use a datasource design (like cocoa, swt⦠and basically all the serious frameworks I know about). and no, we do not have a default design for this kind of big components (a serious absence, IMO).
A recycling list/container morph would be great, and super fast. I know... lack of manpower... :) Regards!
2014-06-26 10:09 GMT-03:00 Esteban Lorenzano <estebanlm@gmail.com>:
you are basically creating 1000 * 100000 morphs (and complex ones).
Actually, I want to create about 20 million of rows.
I would just do a matrix morph with just one morph and rendering the matrix in the canvas (overriding the #drawOn:)
Yes, that seems to be the path.
BTW, I do not think VW would work like that either: IMO, that design (pre-generating the cells) is bad and it never works. Other frameworks use a datasource design (like cocoa, swt⦠and basically all the serious frameworks I know about). and no, we do not have a default design for this kind of big components (a serious absence, IMO).
Do you have an example of those frameworks displaying millions of rows? How they manage scrolling? Thanks for the tips. Hernán
2014-06-26 15:39 GMT-03:00 Hernán Morales Durand <hernan.morales@gmail.com>:
2014-06-26 10:09 GMT-03:00 Esteban Lorenzano <estebanlm@gmail.com>:
you are basically creating 1000 * 100000 morphs (and complex ones). Actually, I want to create about 20 million of rows.
Cool :)
Do you have an example of those frameworks displaying millions of rows? How they manage scrolling?
They recycle the views, showing only views for the items that fit on screen and, maybe, a few extra at the edges. Using callbacks to get the view and bind the data for each one. There was a way to use Dolphin Smalltalk ListView to use its underlying SysListView32 in virtual mode (I can't find it now). There are HTML list widgets that also do that. Here is a case of how to it with C# <http://www.codeproject.com/Articles/42229/Virtual-Mode-ListView> Of course nothing of this helps you immediately, unless you're going to implement such virtual/recycling lists in Morph. Regards! Esteban A. Maringolo
On 26 Jun 2014, at 15:39, Hernán Morales Durand <hernan.morales@gmail.com> wrote:
2014-06-26 10:09 GMT-03:00 Esteban Lorenzano <estebanlm@gmail.com>: you are basically creating 1000 * 100000 morphs (and complex ones).
Actually, I want to create about 20 million of rows.
I would just do a matrix morph with just one morph and rendering the matrix in the canvas (overriding the #drawOn:)
Yes, that seems to be the path.
BTW, I do not think VW would work like that either: IMO, that design (pre-generating the cells) is bad and it never works. Other frameworks use a datasource design (like cocoa, swt⦠and basically all the serious frameworks I know about). and no, we do not have a default design for this kind of big components (a serious absence, IMO).
Do you have an example of those frameworks displaying millions of rows? How they manage scrolling? Thanks for the tips.
https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Applic... (and around) now⦠how it is implemented, I always take cocotron project (http://www.cocotron.org) as an inspiration (even if in ObjC, you can take a lot of ideas from there) Esteban
Hernán
participants (4)
-
Esteban A. Maringolo -
Esteban Lorenzano -
Hernán Morales Durand -
stepharo