Copy-reduction in CSV/CSV-lite record-readers; very minor perf improvement

This commit is contained in:
John Kerl 2021-12-22 20:01:16 -05:00
parent e824f377c9
commit 6b87a121b0
2 changed files with 7 additions and 7 deletions

View file

@ -252,7 +252,7 @@ func (reader *RecordReaderCSV) getRecordBatch(
// if header shorter than data: use 1-up itoa keys
key := strconv.Itoa(i + 1)
value := mlrval.FromDeferredType(csvRecord[i])
record.PutCopy(key, value)
record.PutReference(key, value)
}
if nh > nd {
// if header longer than data: use "" values

View file

@ -247,7 +247,7 @@ func getRecordBatchExplicitCSVHeader(
if !reader.readerOptions.AllowRaggedCSVInput {
for i, field := range fields {
value := mlrval.FromDeferredType(field)
record.PutCopy(reader.headerStrings[i], value)
record.PutReference(reader.headerStrings[i], value)
}
} else {
nh := len(reader.headerStrings)
@ -256,14 +256,14 @@ func getRecordBatchExplicitCSVHeader(
var i int
for i = 0; i < n; i++ {
value := mlrval.FromDeferredType(fields[i])
record.PutCopy(reader.headerStrings[i], value)
record.PutReference(reader.headerStrings[i], value)
}
if nh < nd {
// if header shorter than data: use 1-up itoa keys
for i = nh; i < nd; i++ {
key := strconv.Itoa(i + 1)
value := mlrval.FromDeferredType(fields[i])
record.PutCopy(key, value)
record.PutReference(key, value)
}
}
if nh > nd {
@ -364,7 +364,7 @@ func getRecordBatchImplicitCSVHeader(
if !reader.readerOptions.AllowRaggedCSVInput {
for i, field := range fields {
value := mlrval.FromDeferredType(field)
record.PutCopy(reader.headerStrings[i], value)
record.PutReference(reader.headerStrings[i], value)
}
} else {
nh := len(reader.headerStrings)
@ -373,13 +373,13 @@ func getRecordBatchImplicitCSVHeader(
var i int
for i = 0; i < n; i++ {
value := mlrval.FromDeferredType(fields[i])
record.PutCopy(reader.headerStrings[i], value)
record.PutReference(reader.headerStrings[i], value)
}
if nh < nd {
// if header shorter than data: use 1-up itoa keys
key := strconv.Itoa(i + 1)
value := mlrval.FromDeferredType(fields[i])
record.PutCopy(key, value)
record.PutReference(key, value)
}
if nh > nd {
// if header longer than data: use "" values