Bug 32899

Informational

GemBuilder for Smalltalk/VW

7.4.1, 7.4, 7.3.3, 7.3.2, 7.3.1, 7.3, 7.2.2, 7.2.1, 7.2, 7.1.2, 7.1.1, 7.1, 7.0.2, 7.0.1, 7.0, 6.2, 6.1, 6.0

VW 7.x

VisualWorks Delays shorter than 10 or 20 milliseconds can take too long

Instances of Delay less than 10 or 20 milliseconds can delay for significantly
longer than the specified time on some machines.  A Delay of 1 millisecond,
for example, might actually take 15 milliseconds to return, which can become
a significant performance problem when it occurs frequently.

This occurs in VisualWorks but can affect applications using GBS. It has
been known to reproduce on Windows and Solaris. It may be present on other
platforms as well.

Cincom is tracking this as AR 49402.  Improvements have been made in VW
7.7, but the problem is not completely resolveable.

Workaround

In application code, avoid using Delay to perform short waits to wait for
an external condition to be true.

In GBS 6.2 and later, this problem is avoided by changes in the default
way polling is done, controlled by the new configuration parameters pollForRpcResponse
and pollForAsynchronousEvents.  Avoid setting these to true, which causes
GBS to utilize many short delays to wait for the server.  When set to false,
the default, GBS uses socket activity detection rather than delays in server
communication.


Last updated: 2/22/11