On Tue, 11 Dec 2012 17:23:10 +0000 Daniel Willmann <[email protected]> said:
> Hello, > > On 12/11/2012 04:50 PM, Rohit Pathania wrote: > > Hi Peter, > > No I havn't stripped out anything. I was comparing glibc with another > > libraries because most of website n blogs, I have seen it is wriiten that > > glibc is slow, bloated and big in size. So thatz what I was thinking why it > > is decision to take in Tizen. What makes it better than other so it is > > included in Tizen. Why it is better than bionic of Android? > > some quick googling will turn up: > http://codingrelic.geekhold.com/2008/11/six-million-dollar-libc.html > > Also take a look at the CAVEATS and OVERVIEW file from the bionic > repository. > > They have a number of reasons why bionic is smaller and might not be > suited for other systems running a more mainline Linux. > > "The Bionic libc routines do not handle C++ exceptions. They neither > throw exceptions themselves, nor will they pass exceptions from a called > function back through to their caller. So for example, if the cmp() > routine passed to qsort() throws an exception the caller of qsort() will > not see it. > > Support for C++ exceptions adds significant overhead to function calls, > even just to pass thrown exceptions back to the caller. As Android's > primary programming language is Java, which handles exceptions entirely > within the runtime package, the designers chose to omit the lower level > exception support. C++ code can still use exceptions internally, so long > as they do not cross a libc routine. In practice, it would be difficult > to actually guarantee that exceptions never try to transit a library > routine." > > "The pthread implementation appears to be completely new and developed > by Google specifically for Android. It is, quite deliberately, not a > complete implementation of POSIX pthreads. It implements those features > necessary to support threads in the Dalvik JVM, and only selectively > thereafter." > > "at the moment, several user-account-related functions like getpwd are > stubbed and return the values corresponding to root. this will be fixed > when we'll be able to have distinct users on the Android filesystem. :-(" so basically.. bionic is a broken libc. :) it happens to be enough for davlik and androids purposes and they either don't NEED full functionality, or work around it. tizen is a FULL linux stack. it needs the whole libc. it is not written expressly to run ONLY a jvm (which is pretty much what android was written to do - give or take). as for "glibc is slow and bloated": https://wiki.linaro.org/WorkingGroups/ToolChain/Outputs/CortexStrings this work done on glibc to improve it.. so that work goes back into libc in the end... (or eglibc)... notice that bionic(-c) is almost always well below... it's a MYTH that somehow bionic is amazingly faster. the ONLY thing is.. it's smaller... and broken. and another one: https://wiki.linaro.org/WorkingGroups/ToolChain/Benchmarks/InitialMemcpy -- Carsten Haitzler (The Rasterman) <[email protected]> _______________________________________________ General mailing list [email protected] https://lists.tizen.org/listinfo/general
