With such a high productivity
factor that Smalltalk gives us, reaction times to market changes have enabled us to beat most of our competitors.

Dr. Colin Lewis, Vice-President, JPMorgan

Concurrency and Leveraging Multi-Core PCs

The Cincom Smalltalk Team takes the performance needs of our customers seriously and addresses it on a number of fronts. Code and application performance is always an interesting topic, and for developers who have the right tools and knowledge, finding and solving performance bottlenecks can be highly productive and very rewarding part of application development. Most developers find Cincom Smalltalk’s performance to be more than adequate, especially when compared to other dynamic languages thanks to our high-performance, JIT’ed (just-in-time compilation) Virtual Machine. But what if you need more?

For a while now, companies have been using concurrency in their development. But going all-out into concurrency is difficult.

As your use of concurrency goes up linearly, the complexity goes up exponentially; in other words, the more you use concurrency, the harder it gets.

For example, in linear programming, a bug can be difficult to track down and find, but in concurrency, it might be almost impossible. Concurrency doesn’t add complexity, it multiplies it. Because of this, concurrency can be a nightmare. There are a lot of places to make a mess, and it’s easy to get in over your head.

We have a solution to that problem. It doesn’t work everywhere—we didn’t reinvent the wheel—but we have a solution that people use to get big bang for their bucks. This is a simplified way to get “big gains” with “little pain.” That solution—MatriX.

MatriX is part of the Cincom Smalltalk Foundation and is a framework that lets you easily leverage multi-core processors. Many customers have adopted this and have achieved the following results:

  • Two to five times throughput improvements
  • 80 percent of the benefits with 20 percent of the difficulty

One customer talked of running at 3X faster:

We are successfully using MatriX in our project. One thing we use it for is to parallelize execution of (time-consuming) unit tests that check code quality. These tests execute at 28 percent of original time, when using MatriX on a quad-core box.
Current Cincom® VisualWorks® customer

Learn how you can use MatriX to leverage the most from your multi-core PCs.

Watch Arden Thomas’ presentation from the 2013 Smalltalk Industry Conference to learn more about Cincom Smalltalk Foundation.

See Cincom Smalltalk Product Manager, Arden Thomas, discuss leveraging multi cores.