Main Page | Report this Page
Computers Forum Index  »  Computer Languages (Smalltalk)  »  smalltalk libraries...
Page 1 of 1    

smalltalk libraries...

Author Message
Richard Sargent...
Posted: Tue Aug 04, 2009 12:59 am
Guest
"Ralph Boland" <rpboland at (no spam) gmail.com> wrote in message
news:907bc904-5ee8-480e-8b38-d2baaa3e6ad5 at (no spam) q40g2000prh.googlegroups.com...
Quote:
In C, if I need the sine function then I include the math library
and use the sine function where needed. The compiler (linker
actually) insures that
the sine function is included in my binary but that nothing else from
the math
library gets included. [I am assuming no dynamicly linked libraries
here.]
Compared to Smalltalk this is very efficient since it helps keep by
binary small.

In the versions of Smalltalk I know, the situation is rather
different. If I need a method
from some package then I include the package in my image and use the
method.
The difference is that there is no linker to discard all the
components from the
package that I don't use. Furthermore, because of the dynamic nature

I think you will find that most Smalltalk implementations offer what is
called a "packager" or a "stripper" for producing a runtime version of the
code base you want to deploy. You really don't want to restrict your
development environment in this way.

--
Richard Sargent
5x5 Computing Solutions, Inc.
rsargent at (no spam) 5x5.on.ca
http://www.pendragonfarm.com/
 
Randal L. Schwartz...
Posted: Tue Aug 04, 2009 1:04 am
Guest
Quote:
"Ralph" == Ralph Boland <rpboland at (no spam) gmail.com> writes:

Ralph> In the versions of Smalltalk I know, the situation is rather different.
Ralph> If I need a method from some package then I include the package in my
Ralph> image and use the method. The difference is that there is no linker to
Ralph> discard all the components from the package that I don't use.
Ralph> Furthermore, because of the dynamic nature of Smalltalk, it is much
Ralph> more difficult for there to be a linker like facility to recognize the
Ralph> unused components of the package and not load them into the image.
Ralph> Thus a Smalltalk image can contain many unused methods which bloat the
Ralph> image.

What is the "Smalltalk [you] know"? Most modern versions of Smalltalk have an
"image stripper" that reduces an image down to just what needs to be present
to deploy.

--
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<merlyn at (no spam) stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>
Smalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc.
See http://methodsandmessages.vox.com/ for Smalltalk and Seaside discussion
 
claus.kick at (no spam) googlemail.com...
Posted: Tue Aug 04, 2009 11:15 am
Guest
On 3 Aug., 23:04, mer... at (no spam) stonehenge.com (Randal L. Schwartz) wrote:
Quote:
"Ralph" == Ralph Boland <rpbol... at (no spam) gmail.com> writes:

Ralph> In the versions of Smalltalk I know, the situation is rather different.
Ralph> If I need a method from some package then I include the package in my
Ralph> image and use the method.  The difference is that there is no linker to
Ralph> discard all the components from the package that I don't use.
Ralph> Furthermore, because of the dynamic nature of Smalltalk, it is much
Ralph> more difficult for there to be a linker like facility to recognize the
Ralph> unused components of the package and not load them into the image.
Ralph> Thus a Smalltalk image can contain many unused methods which bloat the
Ralph> image.

What is the "Smalltalk [you] know"?  Most modern versions of Smalltalk have an
"image stripper" that reduces an image down to just what needs to be present
to deploy.

Some Smalltalks provide a basic image and you load all the code you
need via libraries.
No bloat at all there.
That is, if you add bloat to packages you file out into libraries,
then its your fault.

But this smells vaguely like a trolling attempt anyways.
 
Bohdan...
Posted: Tue Aug 04, 2009 1:47 pm
Guest
True, if you're thinking of a single image.
In a multi-image Seaside server deployment, reducing each image's
memory footprint is useful.

Building a runtime image is one thing that VA Smalltalk does very
well. Our runtime images are about 6 mb.

On Aug 4, 7:35 am, jarober <jaro... at (no spam) gmail.com> wrote:
Quote:
The first question I'd ask - and I'm being serious, not mean - is
this:

"Why do you care?"

To explain: neither disk space, memory, or bandwidth are limited in
the ways they were 10 years ago (or indeed, even 5 years ago).  I have
4 gb of memory and 250 gb of disk on the 2 year old macbook pro I'm
typing on; given such systems, it hardly seems worth it to worry about
a few hundred kbytes of library code being loaded extraneously.

...
 
jarober...
Posted: Tue Aug 04, 2009 3:14 pm
Guest
Using Runtime Packager, I can achieve the same thing with VisualWorks
or ObjectStudio. However, I've personally stopped using them - the
pain is too high, and the gain too small.

YMMV, of course.

On Aug 4, 9:47 am, Bohdan <bne... at (no spam) gmail.com> wrote:
Quote:
True, if you're thinking of a single image.
In a multi-image Seaside server deployment, reducing each image's
memory footprint is useful.

Building a runtime image is one thing that VA Smalltalk does very
well.  Our runtime images are about 6 mb.

On Aug 4, 7:35 am, jarober <jaro... at (no spam) gmail.com> wrote:> The first question I'd ask - and I'm being serious, not mean - is
this:

"Why do you care?"

To explain: neither disk space, memory, or bandwidth are limited in
the ways they were 10 years ago (or indeed, even 5 years ago).  I have
4 gb of memory and 250 gb of disk on the 2 year old macbook pro I'm
typing on; given such systems, it hardly seems worth it to worry about
a few hundred kbytes of library code being loaded extraneously.

...
 
Bohdan...
Posted: Tue Aug 04, 2009 5:38 pm
Guest
Fair enough. Not trying to compare the two; VA just happens to be the
one I've used (I'll be getting to know Runtime Packager soon enough).
But the point still stands: in some cases reducing a runtime image has
value, and it's nice to have tools to do the job.


On Aug 4, 11:14 am, jarober <jaro... at (no spam) gmail.com> wrote:
Quote:
Using Runtime Packager, I can achieve the same thing with VisualWorks
or ObjectStudio.  However, I've personally stopped using them - the
pain is too high, and the gain too small.

YMMV, of course.

On Aug 4, 9:47 am, Bohdan <bne... at (no spam) gmail.com> wrote:



True, if you're thinking of a single image.
In a multi-image Seaside server deployment, reducing each image's
memory footprint is useful.

Building a runtime image is one thing that VA Smalltalk does very
well.  Our runtime images are about 6 mb.

On Aug 4, 7:35 am, jarober <jaro... at (no spam) gmail.com> wrote:> The first question I'd ask - and I'm being serious, not mean - is
this:

"Why do you care?"

To explain: neither disk space, memory, or bandwidth are limited in
the ways they were 10 years ago (or indeed, even 5 years ago).  I have
4 gb of memory and 250 gb of disk on the 2 year old macbook pro I'm
typing on; given such systems, it hardly seems worth it to worry about
a few hundred kbytes of library code being loaded extraneously.

...
 
Stefan Schmiedl...
Posted: Tue Aug 04, 2009 10:30 pm
Guest
On Tue, 4 Aug 2009 11:22:34 -0700 (PDT)
jarober <jarober at (no spam) gmail.com> wrote:

Quote:
To be fair, VSE had SLL's as early as 1994 or so, and VW has had
parcels since 1995. This isn't any kind of radically new feature for
Smalltalk.

To be thorough, Frank did not claim SLLs to be a radically new feature,
he said that they are useing "a new concept of SLLs".

s.

Quote:
On Aug 4, 1:02 pm, "Frank Lesser [LSW]" <frank-les... at (no spam) lesser-
software.com> wrote:
We are working in the Beta version of DNG that will use a new concept of
SLLs, which will be explained in detail at the DNG event in Tarivisio in
September.
 
geoff...
Posted: Tue Aug 04, 2009 10:45 pm
Guest
Quote:
In the versions of Smalltalk I know, the situation is rather
different.

Yes, when you use the development image, everything is there including
development browsers, etc. When you want to package, the job then becomes a
'cutting away' process, cutting away the things not used in your
application, such as development browsers, etc.

Some things would not be in the image anyway, such as web services. If my
app has nothing to do with web services then it would not be loaded in the
image and cutting it out would not be necessary.

Most STs have tools to help the user determine what is not used.

--g
 
 
Page 1 of 1    
All times are GMT
The time now is Tue Nov 24, 2009 9:13 pm