libstdc++ performance issue between Panther and Tiger
site_archiver@lists.apple.com Delivered-To: darwin-dev@lists.apple.com Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=UZOfAoJaGxJe3KKt+iQHNsFLmnf4VQ9Tx6FDPV0ZhRk2TVQGbpdm3iC0urGXLlfyPOne/ErNE2OuPo9jO/d1FgSqjDFXdcLHaM9XFyz9zYo3j/SX77SsWCa4bMApA114bagVELXJwv+aX/ib2QNwAH4gqKn7YApaXYPuxvC+qZE= Bonjour, We're a group of input method developement in Taiwan (http://openvanilla.org/index.cgi?English). While migrating our works from Panther to Tiger, we found something about the performance of libstdc++. The gcc 4.0 in Tiger seems changes its behavior of libstdc++, from static linking to dynamic. For example, we have a module which uses C++ STL to read some tuples from files into multimap. This module has different binary size with different g++ compilers: Panther gcc 3.3: 812756 bytes Tiger gcc 3.3: 817752 bytes Tiger gcc 4.0: 74976 bytes Since Tiger defaults to use gcc 4.0, we were happy about shrinked size, but we became worrying about slow initializing soon... The module compiled with Tiger gcc 4.0 needs 30 ticks (1 tick = 1/60 second) on initialization! We realize this is a trade-off between dynamic library and static one. Currently we can just compile our codes with gcc 3.3, but we are wondering if Apple could provide static link version libstdc++ or not? And hope our experience is useful to others. Thank you. Sincerely, Tian-Jian _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-dev mailing list (Darwin-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-dev/site_archiver%40lists.appl... This email sent to site_archiver@lists.apple.com
participants (1)
-
Tien-jien Jiang