Skip to content

Commit 6be198d

Browse files
committed
Don't convert buffer to mutable if it not required
# Conflicts: # src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs # src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt
1 parent 1de06be commit 6be198d

File tree

1 file changed

+8
-16
lines changed

1 file changed

+8
-16
lines changed

src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -267,8 +267,7 @@ public void ElementwiseEquals(PrimitiveColumnContainer<bool> left, PrimitiveColu
267267
{
268268
for (int b = 0; b < left.Buffers.Count; b++)
269269
{
270-
var mutableBuffer = left.Buffers.GetOrCreateMutable(b);
271-
var span = mutableBuffer.Span;
270+
var span = left.Buffers[b].ReadOnlySpan;
272271
var otherSpan = right.Buffers[b].ReadOnlySpan;
273272
for (int i = 0; i < span.Length; i++)
274273
{
@@ -280,8 +279,7 @@ public void ElementwiseEquals(PrimitiveColumnContainer<bool> column, bool scalar
280279
{
281280
for (int b = 0; b < column.Buffers.Count; b++)
282281
{
283-
var mutableBuffer = column.Buffers.GetOrCreateMutable(b);
284-
var span = mutableBuffer.Span;
282+
var span = column.Buffers[b].ReadOnlySpan;
285283
for (int i = 0; i < span.Length; i++)
286284
{
287285
ret[i] = (span[i] == scalar);
@@ -292,8 +290,7 @@ public void ElementwiseNotEquals(PrimitiveColumnContainer<bool> left, PrimitiveC
292290
{
293291
for (int b = 0; b < left.Buffers.Count; b++)
294292
{
295-
var mutableBuffer = left.Buffers.GetOrCreateMutable(b);
296-
var span = mutableBuffer.Span;
293+
var span = left.Buffers[b].ReadOnlySpan;
297294
var otherSpan = right.Buffers[b].ReadOnlySpan;
298295
for (int i = 0; i < span.Length; i++)
299296
{
@@ -305,8 +302,7 @@ public void ElementwiseNotEquals(PrimitiveColumnContainer<bool> column, bool sca
305302
{
306303
for (int b = 0; b < column.Buffers.Count; b++)
307304
{
308-
var mutableBuffer = column.Buffers.GetOrCreateMutable(b);
309-
var span = mutableBuffer.Span;
305+
var span = column.Buffers[b].ReadOnlySpan;
310306
for (int i = 0; i < span.Length; i++)
311307
{
312308
ret[i] = (span[i] != scalar);
@@ -457,8 +453,7 @@ public void ElementwiseEquals(PrimitiveColumnContainer<DateTime> left, Primitive
457453
{
458454
for (int b = 0; b < left.Buffers.Count; b++)
459455
{
460-
var mutableBuffer = left.Buffers.GetOrCreateMutable(b);
461-
var span = mutableBuffer.Span;
456+
var span = left.Buffers[b].ReadOnlySpan;
462457
var otherSpan = right.Buffers[b].ReadOnlySpan;
463458
for (int i = 0; i < span.Length; i++)
464459
{
@@ -470,8 +465,7 @@ public void ElementwiseEquals(PrimitiveColumnContainer<DateTime> column, DateTim
470465
{
471466
for (int b = 0; b < column.Buffers.Count; b++)
472467
{
473-
var mutableBuffer = column.Buffers.GetOrCreateMutable(b);
474-
var span = mutableBuffer.Span;
468+
var span = column.Buffers[b].ReadOnlySpan;
475469
for (int i = 0; i < span.Length; i++)
476470
{
477471
ret[i] = (span[i] == scalar);
@@ -482,8 +476,7 @@ public void ElementwiseNotEquals(PrimitiveColumnContainer<DateTime> left, Primit
482476
{
483477
for (int b = 0; b < left.Buffers.Count; b++)
484478
{
485-
var mutableBuffer = left.Buffers.GetOrCreateMutable(b);
486-
var span = mutableBuffer.Span;
479+
var span = left.Buffers[b].ReadOnlySpan;
487480
var otherSpan = right.Buffers[b].ReadOnlySpan;
488481
for (int i = 0; i < span.Length; i++)
489482
{
@@ -495,8 +488,7 @@ public void ElementwiseNotEquals(PrimitiveColumnContainer<DateTime> column, Date
495488
{
496489
for (int b = 0; b < column.Buffers.Count; b++)
497490
{
498-
var mutableBuffer = column.Buffers.GetOrCreateMutable(b);
499-
var span = mutableBuffer.Span;
491+
var span = column.Buffers[b].ReadOnlySpan;
500492
for (int i = 0; i < span.Length; i++)
501493
{
502494
ret[i] = (span[i] != scalar);

0 commit comments

Comments
 (0)