* 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)
48 lines
1,014 B
Makefile
48 lines
1,014 B
Makefile
# 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>
|