Hello, Zvi:

Is this an ILE C main program? How was it created, with CRTBNDC?
CRTBNDC defaults to ACTGRP(*NEW), which imposes significant overhead if you are calling the same program over and over again. The CRTBNDC command does not provide any way to change the ACTGRP parameter, so you must use CRTCMOD and CRTPGM instead, and then you can specify ACTGRP(name) to create a named activation group.

Or, create a service program, with your C procedure that you need to call repeatedly, and specify ACTGRP(name) on the CRTSRVPGM command, and then create a very small "main" program (wrapper) that also runs in the same activation group, and calls the procedure in the service program. (Service programs are initialized in an activation group, and remain "activated" until either "end of job" or until you explicitly destroy the activation group, e.g. using the RCLACTGRP CL command.)

What procedures or functions within QC2POSIX are you using? If you can provide some details about what your program is doing, then perhaps someone can comment on how to reduce this "overhead".

All the best,

Mark S. Waterbury

> Zvi Kave wrote:
Hi,
I have ILE C program which is called many times every second.
I found that QC2POSIX takes lot of CPU (40%). Someone knows how to make ILE C program resident in memory?
Regards,
Zvi



This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2019 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available here. If you have questions about this, please contact [javascript protected email address].