ACL and multi-processors

This is a somewhat complex issue, so this answer is broken up into two parts.

The short answer

ACL can take advantage of multiple processors only on our :os-thread ports. Currently, this is only on Windows.

If one is using an :os-threads port, the possibility of taking advantage of multiple processors then depends on the structure of the application in question. It is not possible for multiple threads running Lisp code to access the lisp heap at the same time. But, if the application has any number of threads that are running in foreign code (and don't need to access the lisp heap), then these threads can benefit from scheduling over multiple processors.

If memory sharing is not a significant factor, ACL -can- take advantage of multiple-processors if you run a number of independent ACL processes (distinct lisp images).

The longer answer

There are a number of parts to the more comprehensive answer...

:os-threads:

The Lisp heap
Memory Management: garbage collection
Garbage collection vs. multiprocessing (and multi-processors)