Operating System - HP-UX
1828406 Members
3486 Online
109977 Solutions
New Discussion

Performance and Error Issues with DCE and aCC

 
Mark Anderson_6
Occasional Advisor

Performance and Error Issues with DCE and aCC

I know 10.20 is no longer supported so this may fall on deaf ears, but here goes:

We recently started linking the cma library in with our aCC-compiled application (-ldce -lcma) in order to support DCE threads. After doing so, we have seen substantial performance hits of up to 30%, even when threads have not been created.

If I switch to the static versions of the libraries (/opt/dce/lib/libdce.a /opt/dce/lib/libcma.a) performance goes back to normal. However, if any threads are created, the application will crash with bus errors, usually in the Rogue Wave string functions:

Program received signal SIGBUS, Bus error.
[Switching to user thread (6028, 0)]
0x7b001288 in _p_mutex_lock () from /usr/lib/libc.1
#1 0x7ae4f7f8 in HPMutexWrapper::lock () from /usr/lib/libstd.1
#2 0x325dc8 in basic_string,allocator>::operator= ()

Here's our relevant info:
HP-UX 10.20
aCC 1.30.06
RW Standard C++ 1.2.1
libdce at PHSS_19739
libcma at PHSS_20608

We are compiling with -DRWSTD_MULTI_THREAD -D_REENTRANT -D__HPACC_THREAD_SAFE_RB_TREE
as per the aCC instructions.

Any suggestions? Thank you for any help or pointers,
Mark Anderson
1 REPLY 1
lassehab
Advisor

Re: Performance and Error Issues with DCE and aCC

Hi Mark,

The bt of core is not complete it's not easy to tell you exactly where is a problem, but you can notes that there are a mixes with shared librairies ( libstd...) and static librairies ( libcma, libdce ), I think that a best way is to use juste shared librairies, but take care to link libcma before libdce ( -lcma -ldce ) and look what it's happen, otherewise you can see this link to see when you can use options like -D_XXXX :

http://docs.hp.com/hpux/onlinedocs/dev/aCC/a_01_27/threads.htm

It's not necessary to use -lc for libc but if you wil absolutely use it, put it before -lcma and -ldce

Regards
I love Java OS