Fedora Linux Support Community & Resources Center
  #1  
Old 3rd June 2012, 03:40 AM
mmix Offline
Registered User
 
Join Date: Aug 2009
Posts: 1,146
linuxfirefox
musl libc

http://www.etalabs.net/musl/

musl is lightweight, fast, simple, free, and strives to be correct in the sense of standards-conformance and safety.

Quote:
Bloat comparison musl uClibc dietlibc eglibc
Complete .a set 313k 360k 120k >1.5M
Complete .so set 488k 520k 185k >2M
Smallest static C program 0.4k 7k 0.2k 507k
Static hello (using printf) 12k 51k 6k 508k
Dynamic overhead (min. dirty) 16k 40k 40k 52k
Static overhead (min. dirty) 8k 12k 8k 28k
Static stdio overhead (min. dirty) 8k 20k 16k 32k
Configurable featureset no yes minimal yes
Performance comparison musl uClibc dietlibc eglibc
Tiny allocation & free 0.004 0.005 0.013 0.003
Big allocation & free 0.024 0.018 0.023 0.017
Allocation contention, local 0.045 0.143 0.393 0.064
Allocation contention, shared 0.044 0.144 0.394 0.083
Zero-fill (memset) 0.037 0.026 0.055 0.054
String length (strlen) 0.104 0.103 0.161 0.101
Byte search (strchr) 0.145 0.254 0.198 0.108
Substring (strstr) 0.055 0.784 1.030 0.357
Thread creation/joining 0.150 0.192 45.761 0.216
Mutex lock/unlock 0.044 0.063 0.785 0.078
UTF-8 decode buffered 0.086 0.153 0.257 0.147
UTF-8 decode byte-by-byte 0.158 0.422 0.236 0.564
Stdio putc/getc 0.236 0.670 7.791 0.556
Stdio putc/getc unlocked 0.194 0.184 0.269 0.191
Regex compile 0.065 0.003 0.014 0.036
Regex search (a{25}b) 0.447 1.320 0.967 0.362
Self-exec (static linked) 260Ás 370Ás 272Ás 427Ás
Self-exec (dynamic linked) 455Ás 1835Ás 675Ás 1900Ás
ABI and versioning comparison musl uClibc dietlibc eglibc
Stable ABI yes no unofficially yes
LSB-compatible ABI incomplete no no yes
Backwards compatibility yes no unofficially yes
Forwards compatibility yes no unofficially no
Atomic upgrades yes no no no
Symbol versioning no no no yes
Algorithms comparison musl uClibc dietlibc eglibc
Substring search (strstr) twoway naive naive twoway
Regular expressions dfa dfa backtracking dfa
Sorting (qsort) smoothsort shellsort naive quicksort introsort
Allocator (malloc) musl-native dlmalloc diet-native ptmalloc
Features comparison musl uClibc dietlibc eglibc
Conformant printf yes yes no wontfix
Exact floating point printing yes no no yes
C99 math library yes partial no yes
GCC libstdc++ compatibility yes yes no yes
POSIX priority scheduling no yes no yes
POSIX threads yes yes, on most archs broken yes
C1x thread-local storage no yes no yes
POSIX localedef no no no yes
Wide character interfaces almost all yes minimal yes
Legacy 8-bit codepages no yes minimal slow, via gconv
Legacy CJK encodings no no no slow, via gconv
UTF-8 multibyte native; 100% conformant native; nonconformant dangerously nonconformant slow, via gconv; nonconformant
Iconv character conversions most major encodings no no the kitchen sink
Iconv transliteration extension no no no yes
Openwall-style TCB shadow yes no no no
Sun RPC, NIS no yes yes yes
Zoneinfo (advanced timezones) no no yes yes
Gmon profiling no no yes yes
Debugging features no no no yes
Various Linux extensions partial yes partial yes
Target architectures comparison musl uClibc dietlibc eglibc
i386 yes yes yes yes
x86_64 yes yes yes yes
ARM yes yes yes yes
MIPS planned yes yes yes
PPC planned yes yes yes
MMU-less microcontrollers no yes no no
Build environment comparison musl uClibc dietlibc eglibc
Legacy-code-friendly headers partial yes no yes
Lightweight headers yes no yes no
Usable without native toolchain yes no yes no
Respect for C namespace yes LFS64 problems no LFS64 problems
Respect for POSIX namespace yes LFS64 problems no LFS64 problems
Security/hardening comparison musl uClibc dietlibc eglibc
Attention to corner cases yes yes no too much malloc
Safe UTF-8 decoder yes yes no yes
Avoids superlinear big-O's yes sometimes no yes
Stack smashing protection yes yes no yes
Heap corruption detection double-free only no no yes
Misc. comparisons musl uClibc dietlibc eglibc
License MIT LGPL 2.1 GPL 2 LGPL 2.1+ w/exceptions

Last edited by mmix; 3rd June 2012 at 03:40 AM. Reason: +
Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
How can I see libc-manpage? bangwall Installation, Upgrades and Live Media 1 24th April 2011 01:01 PM
libc.a lars12 Using Fedora 0 22nd June 2006 05:08 PM
libc.so.6 mickeyboy Using Fedora 1 2nd March 2006 02:05 AM
I Need Libc Devel Pkg carlwill Using Fedora 3 26th January 2006 03:37 PM


Current GMT-time: 18:17 (Friday, 19-12-2014)

TopSubscribe to XML RSS for all Threads in all ForumsFedoraForumDotOrg Archive
logo

All trademarks, and forum posts in this site are property of their respective owner(s).
FedoraForum.org is privately owned and is not directly sponsored by the Fedora Project or Red Hat, Inc.

Privacy Policy | Term of Use | Posting Guidelines | Archive | Contact Us | Founding Members

Powered by vBulletin« Copyright ę2000 - 2012, vBulletin Solutions, Inc.

FedoraForum is Powered by RedHat
Creek Side - Stockholm-Arlanda Airport (ARN) Travel Photos on Instagram - Marina of Koper Travel Photos - Te Whiti Park Instagram Photos - Texas State Fair Photos on Instagram