Boost logo

Boost :

From: Darren Cook (darren_at_[hidden])
Date: 2006-02-07 03:06:03


> Documentation for the library can be found online here:
> http://tinyurl.com/e2os3

This is a mini-review based on a quick read of the documentation.

Generally I thought the documentation was good and thorough.

1. I wanted to see at least a paragraph describing what kinds of
problems shared memory solves. I assume it is for inter-process
communication on the same machine. What are the pros/cons compared to
using TCP/IP sockets, and pipes? Sockets have the advantage that they
work beyond the local machine, but presumably shared memory is quicker:
I wanted to see a number to say just how much quicker.

2. "Performance of Shmem" is better called "Optimization Options".
http://ice.prohosting.com/newfunk/boost/libs/shmem/doc/html/shmem/performance.html

3. In the quick guide
(http://ice.prohosting.com/newfunk/boost/libs/shmem/doc/html/shmem/quick_guide.html):

3a. in the first example code you have "(void)offset;" on a line by
itself. Is this a typo? If not it is unusual so needs more explanation.
The same for "(void)msg;" in the second example.

3b. I'd have liked to see a full example showing the interprocess
communication. Or at least expand out "//Copy message to buffer" to show
writing a string into the buffer.

4. I didn't understand the first sentence in the limitations.html page:

"Shmem wants to be portable across multiple operating systems so that it
can not count with an operating systems that maps shared memory to the
same base address in all processes in the system"

I think I'm stuck on "can not count with".

> Please always state in your review, whether you think the library should be
> accepted as a Boost library!

A "low-weight" yes.

> - What is your evaluation of the documentation?

It looks professional.

> - What is your evaluation of the potential usefulness of the library?

I don't know. For applications I can think of I would instead choose to
use sockets, so I can easily move part of an application to another
machine, or across a cluster. Also I can easily write part of an
application in a different language.

> - How much effort did you put into your evaluation? A glance? A quick
> reading? In-depth study?

About 30 minutes reading the docs.

> - Are you knowledgeable about the problem domain?

No.

Darren


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk