[Webteam] www.squeak.org Cog reference

Eliot Miranda eliot.miranda at gmail.com
Thu Mar 13 01:16:21 UTC 2014


Hi All,

     I love the look of www.squeak.org's front page, however I think the
Cog part is out of date and not particularly helpful.  May I make the
following suggestions?


1. The text underneath "Cog JIT VM" would be better if it used the text
from http://www.mirandabanda.org/cogblog/about-cog/ (see below)

2. the "Cog JIT VM" More... link goes to http://www.squeakvm.org/index.html,
which is, I think, a non-sequitur, ecauser the page doesn't say anything
obvious about Cog.  If the page is to be kept then it needs to say at least
"The Squeak Virtual Machine".  But better might be to link directly to my
blog.


Here's the text from http://www.mirandabanda.org/cogblog/about-cog

"Cog is a virtual machine designed for Smalltalk and other similar dynamic
languages.  Cog builds on the Squeak virtual machine adding a
stack-to-register-mapping just-in-time compiler, aggressive in-line message
cacheing and effective optimization of Smalltalk's first-class activation
records.  Cog is the virtual machine underlying Teleplace's Croquet-based
enterprise virtual collaboration spaces software, the fastest virtual
machine for Squeak, and for Gilad Bracha's Newspeak modular language
inspired by Beta and Smalltalk.  Like the original Squeak VM, Cog is
implemented and developed in Smalltalk, and translated into a lower-level
language to produce the production VM.  Being a Smalltalk program it is a
delight to develop.  Cog is available under the MIT open source license and
is unencumbered for commercial deployment.

Cog's performance relative to the existing Squeak interpreter varies,
depending on the benchmark chosen.  As of early-2011, the Cog JIT uses
strong inline cacheing techniques and stack-to-register mapping that
results in a register-based calling convention for low-arity methods.  Due
to the complexity of the Squeak object representation it has a limited set
of primitives implemented in machine code that, for example, exclude object
allocation.  Performance of the early-2011 JIT for the nbody, binarytrees
and chameneos redux benchmarks from the computer language shootout is in
the range of 4 to 6 times faster than the interpreter.

I am writing an occasional series of blog posts describing the
implementation on this site. See the Cog category at the left side of the
page.  Currently I'm working on a new memory manager with a much improved
object representation and garbage collector.  See the Spur category at the
left side of the page.

Cog is now the standard VM for Squeak, Pharo and Newspeak."
-- 
best,
Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/webteam/attachments/20140312/6697b717/attachment-0001.htm


More information about the Webteam mailing list