Hi Steph,
This mail from Joachim Geidel might help with tweaking the memory in VW.
Cheers,
Ricky
Begin forwarded message:
> From: Joachim Geidel <joachim.geidel(a)onlinehome.de>
> Date: September 26, 2009 5:10:40 PM GMT+02:00
> To: Jim Guo <jimg1968(a)gmail.com>, vwnc <vwnc(a)cs.uiuc.edu>
> Subject: Re: [vwnc] any way to automaticly set memory policy?
>
> Am 26.09.09 14:40 schrieb Jim Guo:
>> Memory size nowadays are larger and each time I have to manually set
>> Memory Policy when build a new image. And we don't know the exact
>> memory size computer which will run a program in the future in advance
>> so it seems better decide automaticly.
>> Is there a way? Thanks.
>
> Yes, and no. :-)
>
> You can save the configuration of the Runtime Packager, including settings
> for MemoryPolicy parameters, for later use, such that you don't have to
> enter the values every time you build an image (see page 21-21 in the
> Application Developers Guide). But that addresses only part of the problem.
>
> MemoryPolicy does not implement the ability to adapt its parameters to its
> environment. But you can write a subclass of MemoryPolicy such that
> - it computes memoryUpperBound dynamically instead of using a constant value
> - it computes growthRegimeUpperBound as e.g. 90% of memoryUpperBound or
> whatever seems reasonable
> - sets defaults for other parameters to values more appropriate to larger
> memory sizes and the needs of your application (e.g., if your application
> needs large amounts of memory, it is a good idea to set
> preferredGrowthIncrement to a larger value than the default of 1 MB - I tend
> to set it to 10 MB without thinking much about it).
>
> The MemoryPolicy has several places where it can be adapted. For example,
> you can tweak the permitMemoryGrowth: method, the memoryMeasurementBlock or
> the way memoryUpperBound is determined to achieve what you want.
>
> It is relatively easy to detect how much physical memory your computer has
> using the appropriate operating system calls, and it's a good idea to set
> memoryUpperBound lower than that. VisualWorks applications can be extremely
> slow when parts of their memory are swapped to disk, especially when running
> global garbage collections.
>
> You could also implement a SubSystem which reads parameters for the
> MemoryPolicy from a configuration file and installs or configures the
> currentMemoryPolicy accordingly in its startUp method.
>
> You should also set the ObjectMemory's sizesAtStartup to larger values,
> especially the sizes of eden and survivor space. My rule of thumb is to set
> eden and survivor space to 10 times the default size, and then run the
> TimeProfiler on parts of the application which are likely to produce lots of
> temporary objects. If it shows that there are too many scavenges (garbage
> collection runs in NewSpace), I increase them further until scavenges don't
> decrease any more or time to execute the code starts increasing. You can
> increase the other size parameters too, in particular stack space and
> compiled code cache. I usually double them. If you don't use fixed space,
> leave its size at the default value. Increase OldSpace headroom such that it
> is large enough to hold the objects created after starting and initializing
> your application, and a bit more. That way, your application will start a
> bit faster, and it doesn't have to allocate more OldSpace segments during
> initialization.
>
> HTH,
> Joachim Geidel
>
>
> _______________________________________________
> vwnc mailing list
> vwnc(a)cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Hi all
I'm doing some experiences with fingerprint and I want to load Squeak38 mse in Moose on VW7.6
However I get some problems (memory not sufficient).
Does one of you know how I can change the initial memory of VW?
Stef
Hi,
Jannik (and Simon?) is doing a great job in removing cycles in Moose.
This means that methods get moved around between packages. Thus, if
you update packages one by one in the wrong order, you might get to
miss some methods. Best is to take a fresh image.
Cheers,
Doru
--
www.tudorgirba.com
"Reasonable is what we are accustomed with."
Hi Fabrizio,
I noticed that some classes related to XML parsing that should belong
to MooseJEE were in Opax. I now moved them to MooseJEE.
Cheers,
Doru
--
www.tudorgirba.com
"Yesterday is a fact.
Tomorrow is a possibility.
Today is a challenge."
Jannik rang the alarm bell. We are slower than in January ( 1600 nodes
=> 28 ms, 300 edges => 35919 ms), but we have a slightly better test
coverage.
I will dig into it.
Report produced on 2010-04-06T09:37:41+00:00
Benchmark ManyNode (simple rendering of nodes) :
100 nodes => 4 ms
200 nodes => 8 ms
300 nodes => 10 ms
400 nodes => 14 ms
500 nodes => 17 ms
600 nodes => 22 ms
700 nodes => 25 ms
800 nodes => 27 ms
900 nodes => 31 ms
1000 nodes => 35 ms
1600 nodes => 55 ms
Benchmark ManyEdges (simple rendering of edges) :
10 edges => 2 ms
20 edges => 10 ms
30 edges => 24 ms
40 edges => 45 ms
50 edges => 99 ms
60 edges => 142 ms
70 edges => 205 ms
80 edges => 402 ms
90 edges => 552 ms
100 edges => 744 ms
200 edges => 12463 ms
300 edges => 134138 ms
60.6 % of methods are covered
Progress from last time: +5.82 %
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hello,
When importing smalltalk code in Moose, the method 'belongsTo' for a class
always refers to the namespace 'Smalltalk', and never to its package.
Is it something wanted ?
Hi,
I added a new feature in Glamour: the ability to add a status bar that
displays a simple label for some object. At the moment it only works
by default with Mondrian views, but it could have further usages.
To use it all you have to do is to send withStatusbar instead of new
to your browser. This will create a fix size pane at the bottom called
#'_statusbar'. By default, there is a transmission from the #status
port of each regular pane to this one, and so every time you populate
a port called #status in your pane, a text representation will appear
in the status bar.
You can find a simple example for Mondrian here:
GLMBasicExamples new mondrianPainting openOn: 100
I also added a small extension, MOViewRenderer>>openWithStatusbar,
that lets you spawn any Mondrian view with a status bar below.
There will be some more developments in this area, but the basic idea
is implemented.
Cheers,
Doru
--
www.tudorgirba.com
"Problem solving efficiency grows with the abstractness level of
problem understanding."
Hi All,
Just to give some news about Mondrian. Together with colleagues from
Bern, Lille and Santiago, I have been working on this visualization
engine for quite some times. Although it contains some important bugs
(e.g., popupView) it is fairly stable and usable. The current version
is 2.0-beta.7.
Mondrian is slowly maturing. A short summary of the discussion I had
with Doru and Stéphane today.
Some of the features I would like to see in for Version 3.0 are:
- scalable spring layout (also known as force based layout): this
is a very simple and nice layout that produces amazing results
- add layers: embedding a rendering or a part of it in a layer.
Layers could then be iteratively activated and desactivared. The idea
is to enable the construction of scripts in a very iterative and
incremental way.
- having a small core embeddable in your application
- making Mondrian load graphiz scripts
- having a better help system (à la ProfStef)
- dedicated chapter for Pharo By Example Volume 2
- exporting as PDF
- anti-aliasing
This probably will not happen today or tomorrow, but I just feel
necessary to share this roadmap with you. Some other features are
wanted. Using Rome is one. Open GL is another. There are plenty of
rooms for a very cool visualization engine.
Probably during the holiday period I will consolidate the current
version by fixing remaining bugs and produce 2.0.
Bug tracker: http://code.google.com/p/moose-technology/
Web page: http://www.moosetechnology.org/tools/mondrian
Let's render our dream!
Cheers,
Alexandre
NB: sorry for this cross mailing list post.
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hello,
I don't remember if I already told you:
I've started to build an OverviewPyramid visualization. I saved it in
the package Moose-
MondrianPaintings-OverviewPyramid. You can test it by right-clicking
on a moose model (from the
moose panel).
I've based the metrics computation on the book 'Object-oriented
metrics in practice'.
Hi,
As the subject suggests I'm trying to install Moose on the latest
image of Pharo
available on the website.
Even though I follow the instruction and I do first:
DEVImageWorkspaces openExternalProjectWorkspace
then, on the new window, I do:
Gofer new
squeaksource: 'Moose';
package: 'ConfigurationOfMoose';
load.
(Smalltalk at: #ConfigurationOfMoose) perform: #loadDefault.
After some time, after installing some components,
the procedure is blocked trying to compile something
(maybe something related to: MOFeatureCollection>>hausdorffDistance).
You can see a screenshot of the exact point here:
http://www.inf.usi.ch/phd/bacchelli/Screenshot.png
I am trying to use Pharo on a 32-bit Debian Linux
(testing with kernel 2.6.32-3-686), on a HP Mini 5102 netbook.
Could you please give me some suggestions on
how to solve this blocking problem?
Thank you in advance,
Alberto
Hi All,
I have a swing.mse that loads in Moose. Anyone is interested in this?
It was easy to produce by the way, but since we talked once about
getting a public repository for case study...
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
You can try:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
view shape diamond height: 30; width: 15; fillColor: Color lightBlue.
view nodes: (1 to: 10).
view shape triangle height: 30; width: 15; fillColor: Color lightGreen.
view nodes: (1 to: 10)
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Some of you were a bit bored of having rectangle and ellipse :-)
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi,
I gived a first try and start to build the wizard and the
DistributionMap itSelf.
I put all my classes in the package Moose-MondrianScripts (is it a good idea?).
So, by dowloading the last version of this package, you will be able
to test it by right-clicking on a
FAMIXClassGroup in a MooseFinder
(For the moment, I have only added a menu item to FAMIXClassGroup, but
this visualization could be applied
on any kind of element)
I fill-in the default inputs of the wizard with a working example, so
that you can see how to use it.
Just tell me if it looks like to what you were expecting, what would
you change?, what would you had?, any
suggestions?
The visualization itself is not yet well-implemented. I'm going to do
that now :)
Hola,
I would like to raise this issue again. It is very annoying having to do a load of the latest moose from here. Simon can attest to this. Having nightly builds available would be a great help. I reiterate my offer to contribute to make this happen.
--
Johan Fabry
jfabry(a)dcc.uchile.cl - http://dcc.uchile.cl/~jfabry
PLEIAD Lab - Computer Science Department (DCC) - University of Chile
Hi!
I would like to make explicit and homogenize the license of Moose and
its components.
For example:
- C Analyzer does not have a license (nothing is specified on http://www.moosetechnology.org/tools/canalyzer)
- http://www.moosetechnology.org/about says Moose is available
under the MIT and BSD licenses. Why not having just one? MIT is the
choice of Pharo.
- Glamour has a MIT license, Mondrian a BSD, PetitParser a MIT,
SmallDude a BSD
I am not sentimentally attached to a particular license. I am neither
expert in licensing and maybe these question do not really make sense.
But I am wondering.
Cheers,
alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi!
The lastest version of Mondrian has a better menu toolbar for the easel.
If there are things you would like to see in this toolbar, we can
discuss.
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
I just noticed that ConfigOfSmallDude declares an explicit dependency on two packages, Moose-Core and Famix-Core. I don't think it's good practice, as it could lead to conflict between a version of Moose and a version of SmallDude requiring different package versions.
--
Simon
Hi Doru
I noticed some missing items in the moose bib on the website. I guess it is generated from the scg bib. What could be the best way to keep this bib up to date?
--
Simon
So it should be a quick issue which would improve usability of the finder.
Apparently the bottleneck is at the creation of each group: we have to fill up the runtimestorage of the group and this includes an access to a dictionary. I am pretty sure the dictionary is useless in most case (because it's to retrieve elements by type, and groups usually contain one type of elements)
So, Jannik suggested to cache group creation when importing a model.
Or we can hope that the speed enhancements in pharo 1.1 make the thing better.
--
Simon
Hi all,
I am happy to say that I recruited a student to do some work for me on AspectMaps. I am sad to say that I want to tell him that he can get a Pharo+Moose image from http://hudson.moosetechnology.org/ but I cant because 'Service Temporarily Unavailable'. Any chance for pure happyness soon? Thanks in advance!
--
Johan Fabry
jfabry(a)dcc.uchile.cl - http://dcc.uchile.cl/~jfabry
PLEIAD Lab - Computer Science Department (DCC) - University of Chile
Did anyone manage to load a clean Moose in Pharo 1.0 RC3?
I tried to load ConfigurationOfPharo first, then Moose, but it looks like it loads some old packages even if I perform loadDefault.
--
Simon
Hi,
I think it would be really cool to extend the faq.
http://www.moosetechnology.org/docs/faq
I don't have time to always follow the mailing list and I think a lot of
interesting questions pass me by. Also I am usually somewhere else in my
head than moose these days so a handy question and answer list would save me
a lot of reasking silly newbie questions.
My common questions at the moment are:
- How do I set Moose to allow me browse the source of the model? ( I know
the answer now :-))
- How do I calculate duplications?
- What does moose consider as a duplication by default?
... and so on.
I know this is a bit of work but we could start and I am volunteering to
contribute.
Cheers,
Orla
Hi,
I see that there are changes that go back and forth in the Cook API.
For example, FAMIXMethod>>sureIncomingInvocations just returned to the
original implementation.
What is happening in this area? :)
Were the original changes of Cyrille just an experiment? If yes, we
should leave them out for now. If no, why is the situation reverted
only for the case of sureIncomingInvocations?
Cheers,
Doru
--
www.tudorgirba.com
"Every thing has its own flow."