h2oai / h2oai/datatable

Implement fast single-element assignment

Open
#1,311 0 comments 0 reactions 0 assignees View on GitHub
DT[i,j,...] improve performance
Dominant language
C++
Stars
1.9k
Forks
164
Avg merge
7h 31m
Merged PRs (30d)
1

Description

Similar to #1306 (fast single-element getter), we want to speed up the
```
DT[i, j] = x
```
call, for the case when `i` and `j` are integers, and `x` is a python primitive type, such as `int`, `float` or `str`. The reason why this case is important is the same as with #1306: creation / modification of a frame when vector operations are not feasible.

One other thing to consider here is what to in cases when the value being assigned does not match the type (or magnitude) of the column. In this case I'm suggesting to use the following rules:
* Ltype of a column may not change;
* Stype changes (within same ltype) are allowed, for example:
- `str32` to `str64`;
- `int8` to `int32`, etc;
- `float32` to `float64` (only when the new value has magnitude larger than MAXFLOAT);
* In all other cases an exception should be thrown.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.