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

Reply via email to