You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .ci/atime/tests.R
+13Lines changed: 13 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -13,6 +13,7 @@ for (extra.arg in extra.args.6107){
13
13
tmp_csv= tempfile()
14
14
fwrite(DT, tmp_csv)
15
15
},
16
+
FasterIO="60a01fa65191c44d7997de1843e9a1dfe5be9f72", # First commit of the PR (https://github.com/Rdatatable/data.table/pull/6925/commits) that reduced time usage
16
17
Slow="e9087ce9860bac77c51467b19e92cf4b72ca78c7", # Parent of the merge commit (https://github.com/Rdatatable/data.table/commit/a77e8c22e44e904835d7b34b047df2eff069d1f2) of the PR (https://github.com/Rdatatable/data.table/pull/6107) that fixes the issue
17
18
Fast="a77e8c22e44e904835d7b34b047df2eff069d1f2") # Merge commit of the PR (https://github.com/Rdatatable/data.table/pull/6107) that fixes the issue
# Test case adapted from https://github.com/Rdatatable/data.table/pull/7022#discussion_r2107900643
134
+
"fread disk overhead improved in #6925"=atime::atime_test(
135
+
N=2^seq(0, 20), # smaller N because we are doing multiple fread calls.
136
+
setup= {
137
+
fwrite(iris[1], iris.csv<- tempfile())
138
+
},
139
+
expr= replicate(N, data.table::fread(iris.csv)),
140
+
Fast="60a01fa65191c44d7997de1843e9a1dfe5be9f72", # First commit of the PR (https://github.com/Rdatatable/data.table/pull/6925/commits) that reduced time usage
141
+
Slow="e25ea80b793165094cea87d946d2bab5628f70a6"# Parent of the first commit (https://github.com/Rdatatable/data.table/commit/60a01fa65191c44d7997de1843e9a1dfe5be9f72)
142
+
),
143
+
131
144
# Performance regression discussed in https://github.com/Rdatatable/data.table/issues/4311
132
145
# Test case adapted from https://github.com/Rdatatable/data.table/pull/4440#issuecomment-632842980 which is the fix PR.
133
146
"shallow regression fixed in #4440"=atime::atime_test(
Copy file name to clipboardExpand all lines: NEWS.md
+8Lines changed: 8 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,6 +16,8 @@
16
16
17
17
5.`as.data.table()` is slightly more efficient at converting arrays to data.tables, [#7019](https://github.com/Rdatatable/data.table/pull/7019). Thanks @eliocamp.
18
18
19
+
6.`between()` gains the argument `ignore_tzone=FALSE`. Normally, a difference in time zone between `lower` and `upper` will produce an error, and a difference in time zone between `x` and either of the others will produce a message. Setting `ignore_tzone=TRUE` bypasses the checks, allowing both comparisons to proceed without error or message about time zones.
20
+
19
21
### BUG FIXES
20
22
21
23
1. Custom binary operators from the `lubridate` package now work with objects of class `IDate` as with a `Date` subclass, [#6839](https://github.com/Rdatatable/data.table/issues/6839). Thanks @emallickhossain for the report and @aitap for the fix.
@@ -49,6 +51,12 @@
49
51
50
52
3. {data.table} now depends on R 3.4.0 (2017).
51
53
54
+
4. Changes to `fread()` output and errors:
55
+
56
+
+ When the size of the file exceeds the size of the address space, `fread()` now signals an informative error instead of trying to map its size modulo the address space.
57
+
+ On non-Windows systems, `fread()` now prints the reason why the file couldn't be opened, which could also be due to it being too large to map.
58
+
+ With `verbose=TRUE`, file sizes are now printed using correct binary SI prefixes (the sizes have always been reported as bytes denominated in powers of `2^10`, so e.g. `1024*1024` bytes was reported as `1 MB` where `1 MiB` or `1.05 MB` is correct).
59
+
52
60
## data.table [v1.17.0](https://github.com/Rdatatable/data.table/milestone/34) (20 Feb 2025)
# lower/upper should be more tightly linked than x/lower, so error
24
22
# if the former don't match but only inform if they latter don't
25
23
if (tzs[2L]!=tzs[3L]) {
26
24
stopf("'between' lower= and upper= are both POSIXct but have different tzone attributes: %s. Please align their time zones.", brackify(tzs[2:3], quote=TRUE))
27
-
# otherwise the check in between.c that lower<=upper can (correctly) fail for this reason
28
25
}
29
26
if (tzs[1L]!=tzs[2L]) {
30
27
messagef("'between' arguments are all POSIXct but have mismatched tzone attributes: %s. The UTC times will be compared.", brackify(tzs, quote=TRUE))
unsigned intmapsize=tablelen+nuniq; // lto compilation warning #5760 // +nuniq to store a 0 at the end of each group
99
-
int*counts=(int*)calloc(nuniq, sizeof(int));
100
-
int*map=(int*)calloc(mapsize, sizeof(int));
99
+
int*counts=calloc(nuniq, sizeof(*counts));
100
+
int*map=calloc(mapsize, sizeof(*map));
101
101
if (!counts|| !map) {
102
102
// # nocov start
103
103
free(counts); free(map);
@@ -169,4 +169,3 @@ system.time(ans2 <- .Call("Cchmatch2", x,y,0L)) # 0.17sec as of 1.12.0 and
169
169
system.time(ans3 <- chmatchdup(x,y,0L)) # 0.09sec from 1.12.2; but goal wasn't speed rather simplified code; e.g. rbindlist.c down from 960 to 360 lines
0 commit comments