Skip to content

Commit 1111690

Browse files
committed
seqRecompress() reduces memory usage
1 parent 643a43d commit 1111690

2 files changed

Lines changed: 7 additions & 2 deletions

File tree

R/Internal.R

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,9 @@ process_balancing_multiple <- 3L
221221
.MergeNodeAttr(target.node, gdslist, varname)
222222
for (i in seq_along(gdslist))
223223
{
224-
append.gdsn(target.node, index.gdsn(gdslist[[i]], varname))
224+
nd <- index.gdsn(gdslist[[i]], varname)
225+
append.gdsn(target.node, nd)
226+
unload.gdsn(nd)
225227
if (verbose)
226228
{
227229
cat(s)

R/UtilsExport.R

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -353,7 +353,8 @@ seqExport <- function(gdsfile, out.fn, info.var=NULL, fmt.var=NULL,
353353
# Recompress the GDS file
354354
#
355355
seqRecompress <- function(gds.fn, compress=c("ZIP", "LZ4", "LZMA", "Ultra",
356-
"UltraMax", "none"), exclude=character(), optimize=TRUE, digest=TRUE, verbose=TRUE)
356+
"UltraMax", "none"), exclude=character(), optimize=TRUE, digest=TRUE,
357+
verbose=TRUE)
357358
{
358359
# check
359360
stopifnot(is.character(gds.fn), length(gds.fn)==1L)
@@ -438,6 +439,8 @@ seqRecompress <- function(gds.fn, compress=c("ZIP", "LZ4", "LZMA", "Ultra",
438439
if (length(s)) delete.attr.gdsn(n, s)
439440
if (verbose) cat("\n")
440441
}
442+
# unload the node
443+
unload.gdsn(n)
441444
}
442445
}
443446

0 commit comments

Comments
 (0)