Date: Sun, 5 Aug 2012 20:51:47 +0000 (UTC) From: Bryan Drewery <bdrewery@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r302135 - in head/devel: . lockfree-malloc Message-ID: <201208052051.q75Kpl6E025458@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: bdrewery Date: Sun Aug 5 20:51:47 2012 New Revision: 302135 URL: http://svn.freebsd.org/changeset/ports/302135 Log: lockfree-malloc is a scalable drop-in replacement for malloc/free. * It's thread-friendly. It supports a practically-unlimited number of concurrent threads, without locking or performance degradation. * It's efficient, especially in a multi-threaded environment. Compared to a stock libc allocator, we see a significant performance boost. * It does NOT fragment or leak memory, unlike a stock libc allocator. * It wastes less memory. For small objects (less than 8kb in size), the overhead is around 0 bytes. (!) * It is designed from the ground-up for 64-bit architectures. * It is elegant. The whole codebase is only around 800 lines of fairly clean C++. (!) * It fully stand-alone; it does not rely on pthreads or libc at runtime. PR: ports/170324 Submitted by: Veniamin Gvozdikov <g.veniamin@googlemail.com> Approved by: eadler (mentor) Added: head/devel/lockfree-malloc/ head/devel/lockfree-malloc/Makefile (contents, props changed) head/devel/lockfree-malloc/distinfo (contents, props changed) head/devel/lockfree-malloc/pkg-descr (contents, props changed) Modified: head/devel/Makefile Modified: head/devel/Makefile ============================================================================== --- head/devel/Makefile Sun Aug 5 20:46:40 2012 (r302134) +++ head/devel/Makefile Sun Aug 5 20:51:47 2012 (r302135) @@ -1042,6 +1042,7 @@ SUBDIR += llvm29 SUBDIR += lmdbg SUBDIR += lndir + SUBDIR += lockfree-malloc SUBDIR += log4c SUBDIR += log4cplus SUBDIR += log4cpp Added: head/devel/lockfree-malloc/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/lockfree-malloc/Makefile Sun Aug 5 20:51:47 2012 (r302135) @@ -0,0 +1,48 @@ +# New ports collection makefile for: lockfree-malloc +# Date created: 2012-08-01 +# Whom: Gvozdikov Veniamin <g.veniamin@googlemail.com> +# +# $FreeBSD$ +# + +PORTNAME= lockfree-malloc +PORTVERSION= 0.0.${DATE} +CATEGORIES= devel +MASTER_SITES= http://fbsd.zlonet.ru/distfiles/ + +MAINTAINER= g.veniamin@googlemail.com +COMMENT= Scalable drop-in replacement for malloc/free + +LICENSE= LGPL3 + +DATE= 20120802 +ONLY_FOR_ARCHS= amd64 +USE_LDCONFIG= yes +USE_BZIP2= yes + +OPTIONS_DEFINE= DOCS +OPTIONS_DEFAULT=DOCS +DOCS_DESC= Install README + +PLIST_FILES= lib/liblite-malloc-shared.so \ + lib/liblite-malloc-static.a + +.include <bsd.port.options.mk> + +.if ${PORT_OPTIONS:MDOCS} +PLIST_FILES+= share/doc/${PORTNAME}/README +PLIST_DIRS+= share/doc/${PORTNAME} +.endif + +do-install: +.for i in shared.so static.a + ${INSTALL_LIB} ${WRKSRC}/liblite-malloc-${i} ${PREFIX}/lib/liblite-malloc-${i} +.endfor + +post-install: +.if ${PORT_OPTIONS:MDOCS} + ${MKDIR} ${DOCSDIR} + cd ${WRKSRC} && ${INSTALL_DATA} README ${DOCSDIR} +.endif + +.include <bsd.port.mk> Added: head/devel/lockfree-malloc/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/lockfree-malloc/distinfo Sun Aug 5 20:51:47 2012 (r302135) @@ -0,0 +1,2 @@ +SHA256 (lockfree-malloc-0.0.20120802.tar.bz2) = 5b4ba8683fd0d02f1415d785d7fa04a41b1e3def8a1b690f434877d3931b16ea +SIZE (lockfree-malloc-0.0.20120802.tar.bz2) = 41121 Added: head/devel/lockfree-malloc/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/lockfree-malloc/pkg-descr Sun Aug 5 20:51:47 2012 (r302135) @@ -0,0 +1,15 @@ +lockfree-malloc is a scalable drop-in replacement for malloc/free. + +* It's thread-friendly. It supports a practically-unlimited number of + concurrent threads, without locking or performance degradation. +* It's efficient, especially in a multi-threaded environment. Compared to + a stock libc allocator, we see a significant performance boost. +* It does NOT fragment or leak memory, unlike a stock libc allocator. +* It wastes less memory. For small objects (less than 8kb in size), the + overhead is around 0 bytes. (!) +* It is designed from the ground-up for 64-bit architectures. +* It is elegant. The whole codebase is only around 800 lines of fairly + clean C++. (!) +* It fully stand-alone; it does not rely on pthreads or libc at runtime. + +WWW: https://github.com/Begun/lockfree-malloc
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201208052051.q75Kpl6E025458>