Date: Sun, 9 Aug 2015 07:33:34 +0000 (UTC) From: TAKATSU Tomonari <tota@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r393764 - in head/devel: . R-cran-bit Message-ID: <201508090733.t797XYEA027919@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: tota Date: Sun Aug 9 07:33:33 2015 New Revision: 393764 URL: https://svnweb.freebsd.org/changeset/ports/393764 Log: - Add new port: devel/R-cran-bit bitmapped vectors of booleans (no NAs), coercion from and to logicals, integers and integer subscripts; fast boolean operators and fast summary statistics. With 'bit' vectors you can store true binary booleans {FALSE,TRUE} at the expense of 1 bit only, on a 32 bit architecture this means factor 32 less RAM and ~ factor 32 more speed on boolean operations. Due to overhead of R calls, actual speed gain depends on the size of the vector: expect gains for vectors of size > 10000 elements. Even for one-time boolean operations it can pay-off to convert to bit, the pay-off is obvious, when such components are used more than once. Reading from and writing to bit is approximately as fast as accessing standard logicals - mostly due to R's time for memory allocation. The package allows to work with pre-allocated memory for return values by calling .Call() directly: when evaluating the speed of C-access with pre-allocated vector memory, coping from bit to logical requires only 70% of the time for copying from logical to logical; and copying from logical to bit comes at a performance penalty of 150%. the package now contains further classes for representing logical selections: 'bitwhich' for very skewed selections and 'ri' for selecting ranges of values for chunked processing. All three index classes can be used for subsetting 'ff' objects (ff-2.1-0 and higher). WWW: https://cran.r-project.org/web/packages/bit/ Added: head/devel/R-cran-bit/ head/devel/R-cran-bit/Makefile (contents, props changed) head/devel/R-cran-bit/distinfo (contents, props changed) head/devel/R-cran-bit/pkg-descr (contents, props changed) Modified: head/devel/Makefile Modified: head/devel/Makefile ============================================================================== --- head/devel/Makefile Sun Aug 9 06:57:11 2015 (r393763) +++ head/devel/Makefile Sun Aug 9 07:33:33 2015 (r393764) @@ -12,6 +12,7 @@ SUBDIR += R-cran-Hmisc SUBDIR += R-cran-RUnit SUBDIR += R-cran-Rcpp + SUBDIR += R-cran-bit SUBDIR += R-cran-bitops SUBDIR += R-cran-caTools SUBDIR += R-cran-caret Added: head/devel/R-cran-bit/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/R-cran-bit/Makefile Sun Aug 9 07:33:33 2015 (r393764) @@ -0,0 +1,16 @@ +# Created by: TAKATSU Tomonari <tota@FreeBSD.org> +# $FreeBSD$ + +PORTNAME= bit +DISTVERSION= 1.1-12 +CATEGORIES= devel +DISTNAME= ${PORTNAME}_${DISTVERSION} + +MAINTAINER= tota@FreeBSD.org +COMMENT= Class for vectors of 1-bit booleans + +LICENSE= GPLv2 + +USES= cran:auto-plist + +.include <bsd.port.mk> Added: head/devel/R-cran-bit/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/R-cran-bit/distinfo Sun Aug 9 07:33:33 2015 (r393764) @@ -0,0 +1,2 @@ +SHA256 (bit_1.1-12.tar.gz) = ce281c87fb7602bf1a599e72f3e25f9ff7a13e390c124a4506087f69ad79d128 +SIZE (bit_1.1-12.tar.gz) = 53737 Added: head/devel/R-cran-bit/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/R-cran-bit/pkg-descr Sun Aug 9 07:33:33 2015 (r393764) @@ -0,0 +1,23 @@ +bitmapped vectors of booleans (no NAs), coercion from and to logicals, +integers and integer subscripts; fast boolean operators and fast +summary statistics. With 'bit' vectors you can store true binary +booleans {FALSE,TRUE} at the expense of 1 bit only, on a 32 bit +architecture this means factor 32 less RAM and ~ factor 32 more +speed on boolean operations. Due to overhead of R calls, actual +speed gain depends on the size of the vector: expect gains for +vectors of size > 10000 elements. Even for one-time boolean operations +it can pay-off to convert to bit, the pay-off is obvious, when such +components are used more than once. Reading from and writing to bit +is approximately as fast as accessing standard logicals - mostly +due to R's time for memory allocation. The package allows to work +with pre-allocated memory for return values by calling .Call() +directly: when evaluating the speed of C-access with pre-allocated +vector memory, coping from bit to logical requires only 70% of the +time for copying from logical to logical; and copying from logical +to bit comes at a performance penalty of 150%. the package now +contains further classes for representing logical selections: +'bitwhich' for very skewed selections and 'ri' for selecting ranges +of values for chunked processing. All three index classes can be +used for subsetting 'ff' objects (ff-2.1-0 and higher). + +WWW: https://cran.r-project.org/web/packages/bit/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201508090733.t797XYEA027919>