Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
3baa986
towards a parallel Table__from_dots()
romainfrancois Mar 2, 2021
0f4828b
Update r/src/r_to_arrow.cpp
romainfrancois Mar 3, 2021
6327df8
+ FlattenDots()
romainfrancois Mar 3, 2021
a68bf31
moving "can extend be done in parallel" out of RConverter
romainfrancois Mar 3, 2021
eba3ad2
use FlattenDots() instead of TraverseDots() to avoid too much lambdac…
romainfrancois Mar 3, 2021
5174c87
simplify
romainfrancois Mar 3, 2021
3b8d6dc
using parallel tasks in Table_from_dots() but for now the tasks effec…
romainfrancois Mar 23, 2021
7b11e2f
RConverter gains Parallel() to tell if it can Extend() in parallel
romainfrancois Mar 23, 2021
3170b40
RPrimitiveConverter<integer | floating> does parallel, unless the SEX…
romainfrancois Mar 24, 2021
f65d585
rebase
romainfrancois Apr 7, 2021
11bfbf2
simplify
romainfrancois Apr 26, 2021
bfe4bc6
RPrimitiveConverter<boolean> marked as parallel, using RVectorIterato…
romainfrancois Apr 26, 2021
fdd3611
use VisitVector() function
romainfrancois Apr 26, 2021
b993e55
factor out R task maganement in dedicated RTasks class
romainfrancois Apr 27, 2021
2cf5208
+RConverter::DelayedExtend()
romainfrancois Apr 27, 2021
ad7b384
initial implementations of DelayedExtend() and removing get_r_mutex()…
romainfrancois Apr 27, 2021
779f89a
struct and dictionary types running (partly) in parallel
romainfrancois Apr 27, 2021
1218076
some care
romainfrancois Apr 28, 2021
c9c3afb
using internal::FnOnce<> instead of std::function<>
romainfrancois May 7, 2021
026241e
comment on RTasks.Finish()
romainfrancois May 7, 2021
9fb41bd
trickle down options.use_threads()
romainfrancois May 10, 2021
ff94919
for now comment part of the code using zero copy (but potentially cos…
romainfrancois May 11, 2021
9d0f7be
handle zero copy in parallel in Table__from_dots()
romainfrancois May 12, 2021
939e026
factorr out UnsafeAppendUtf8Strings in the string converter implement…
romainfrancois May 13, 2021
592a103
handle strings in parallel
romainfrancois May 13, 2021
64fc8aa
strings in parallel (for real this time, hopefully)
romainfrancois May 13, 2021
af3d42b
finish rebase
romainfrancois May 20, 2021
84e74d8
do ->ToArray() calls in parallel
romainfrancois May 21, 2021
36bb9d7
missing parameter
romainfrancois May 21, 2021
eea4a5f
prefer ARROW_ASSIGN_OR_RAISE
romainfrancois May 21, 2021
388f2c2
stopping early
romainfrancois May 21, 2021
96e9759
RTasks.Reset()
romainfrancois May 25, 2021
e914b74
raw vectors are inferred to uint8, not int8
romainfrancois May 25, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions r/R/arrowExports.R

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions r/R/table.R
Original file line number Diff line number Diff line change
Expand Up @@ -168,17 +168,17 @@ Table$create <- function(..., schema = NULL) {
names(dots) <- rep_len("", length(dots))
}
stopifnot(length(dots) > 0)

# Preserve any grouping
if (length(dots) == 1 && inherits(dots[[1]], "grouped_df")) {
out <- Table__from_dots(dots, schema)
out <- Table__from_dots(dots, schema, option_use_threads())
return(dplyr::group_by(out, !!!dplyr::groups(dots[[1]])))
}

if (all_record_batches(dots)) {
Table__from_record_batches(dots, schema)
} else {
Table__from_dots(dots, schema)
Table__from_dots(dots, schema, option_use_threads())
}
}

Expand Down
35 changes: 18 additions & 17 deletions r/src/arrowExports.cpp

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions r/src/arrow_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,14 @@ void TraverseDots(cpp11::list dots, int num_fields, Lambda lambda) {
}
}

inline cpp11::writable::list FlattenDots(cpp11::list dots, int num_fields) {
std::vector<SEXP> out(num_fields);
auto set = [&](int j, SEXP x, cpp11::r_string) { out[j] = x; };
TraverseDots(dots, num_fields, set);

return cpp11::writable::list(out.begin(), out.end());
}

arrow::Status InferSchemaFromDots(SEXP lst, SEXP schema_sxp, int num_fields,
std::shared_ptr<arrow::Schema>& schema);

Expand Down
1 change: 0 additions & 1 deletion r/src/csv.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
#include <arrow/csv/reader.h>
#include <arrow/csv/writer.h>
#include <arrow/memory_pool.h>

#include <arrow/util/value_parsing.h>

// [[arrow::export]]
Expand Down
Loading