Browse Prior Art Database

Named Shared Memory to Improve Performance of Initiating Dynamic Data Exchange Conversations

IP.com Disclosure Number: IPCOM000105462D
Original Publication Date: 1993-Aug-01
Included in the Prior Art Database: 2005-Mar-19
Document File: 2 page(s) / 62K

Publishing Venue

IBM

Related People

Eisen, IR: AUTHOR [+2]

Abstract

The use of the WINDDEINITIATE function can be a very expensive operation in OS/2*, especially if running in a memory constrained environment.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 53% of the total text.

Named Shared Memory to Improve Performance of Initiating Dynamic Data Exchange Conversations

      The use of the WINDDEINITIATE function can be a very expensive
operation in OS/2*, especially if running in a memory constrained
environment.

      This article describes a technique for improving the
performance of establishing a dynamic data exchange (DDE)
conversation between two applications.  In OS/2, calling the
WINDDEINITIATE function can be very expensive.  Each and every window
in the system must respond to the DDE_INITIATE message.  In a memory
constrained environment, some of these windows may have been paged
out by the operating system.  Since each window must respond to the
DDE_INITIATE, the system must page these windows in to respond to the
message.  This can be very time consuming and have a negative impact
on the performance of the applications and the system.  The purpose
of the DDE_INITIATE is to receive a window handle to use in a DDE
conversation.

      The  solution to this problem is for the applications to use
named shared memory to exchange the needed window handle.  The first
application creates named shared memory and puts its window handle in
the named shared memory.  When the second application starts, instead
of sending a DDE_INITIATE, it simply accesses the named shared
memory, retrieves the window handle from the memory and begins the
DDE conversation with the first application.  This technique
dramatically reduces the system resources needed to begin a DDE
conversation.

An example follows which was written in Smalltalk/V** PM using this
technique.

Example:
openDDEServer                           -method to open a DDE server
ddeServer :=
     DDEServer newServer: self application: 'MyApplication' topic:
'My...