stdcxx-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Amit Jindal <jin...@roguewave.com>
Subject RE: informix
Date Thu, 08 Sep 2005 17:18:33 GMT
We did some comparisons in the past for space and time efficiency.
Unfortunately I cannot disclose the results as we did not save all the tests
and hardware specs to reliably reproduce the results.

In general RW Standard library performed quite well.


Some more old info that may not be true anymore:

- Our testsuite size (to be released to apache soon) was bigger than GNU and
STLport.
- Our average executable size was smallest. In some cases upto more than 9
times smaller.
- stdcxx performed better in almost all categories.
- stdcxx has several features that may not be available in any other single
stdlib like atomic locks, thread safe iostreams, complete locale
implementation to name a few.


It may be prudent to do a new comparison and make the tests and results
available.


-- Amit
 
>>-----Original Message-----
>>From: okki [mailto:okki4ogre@googlemail.com]
>>Sent: Thursday, September 08, 2005 11:06 AM
>>To: stdcxx-user@incubator.apache.org
>>Subject: Re: informix
>>
>>
>>thanks for clarification, roguewave did some fine job.
>>
>>i know i'm hitchhiking my own thread but did you do performance
>>measurement/comparison with alternative std implementations?
>>gnu,stdcxx,uClibc++,... ?
>>
>>
>>
>>> okki wrote:
>>>>>> just wanted to tell you that stdcxx compiles just fine within
>>>>>> interix/sfu 3.5.
>>>>
>>>>
>>>> just when i thought everythings ok :) ... (well its still ok, but)
>>>> how do i get rid of the "-lsupc++" requirement? does stdcxx still rely
>>>> on some parts of gcc?
>>>
>>> Yes, it certainly does :) libsupc++ is the language support library,
>>> implementing such facilities of core C++ language as exceptions, RTTI,
>>> and dynamic memory allocation (operators new and delete). There's no
>>> way to write even the simplest C++ program without it (actually, there
>>> is, but those usually are too simple to be useful).
>>>
>>> The vast majority of compilers provide such a library, some as an
>>> archive, some in the form of a shared library. If you are using the
>>> native C++ standard library that comes with the compiler the support
>>> library is linked in implicitly by the driver (or, in the case of
>>> gcc, it's actually part of libstdc++ itself), so you don't see it
>>> on the command line. When using a third party implementation of the
>>> C++ standard library such as stdcxx, you must avoid linking in the
>>> native implementation (to avoid ODR violations). With GCC you do
>>> it by using the gcc command instead of g++ for linking and by also
>>> specifying -lsupc++.
>>>
>>> I suppose you might be able to link libsupc++.a directly into the
>>> stdcxx library and avoid explicitly mentioning it on your program's
>>> link line but I haven't tried it.
>>>
>>>>
>>>> gcc -D_RWSTD_USE_CONFIG -Istdcxx/include/ansi \
>>>> -Istdcxx/include -Iinclude -nostdinc++ \
>>>> src/*.cpp -O3 -o testcase.exe -B,static \
>>>> -Lstdcxx/lib -lstd -lsupc++ -B,dynamic -ldl -s
>>>>
>>>> thanks in advance
>>>>
>>>> (ah btw: why incubator? compiled a whole lot of classes without any
>>>> modifications! out of the box! that's really cool :)
>>>
>>> Incubation isn't necessarily a reflection of the state or quality of
>>> the code (in the case of stdcxx, the project has been in development
>>> and active use for over 10 years so it's quite mature by now).
>>>
>>> Every project donated to Apache must go through the incubator first
>>> to make sure all legal issues (such as copyright/license transfers)
>>> have been completed and the project itself has been fully migrated
>>> to the ASF infrastructure (source code repository, bug tracking
>>> database, Web site, etc.) before the ASF takes formal ownership of
>>> it. The incubation period is also a good opportunity for maintainers
>>> of the project who are new to Apache to learn the ropes (i.e., get
>>> the "Apache Way" -- how to work within the organization, get to know
>>> people, establish a development community around the project, etc.)
>>>
>>> Martin
>>>

Mime
View raw message