mirror of
https://github.com/johnkerl/miller.git
synced 2026-07-17 16:38:54 +00:00
Copy-reduction in CSV/CSV-lite record-readers; very minor perf improvement
This commit is contained in:
parent
e824f377c9
commit
6b87a121b0
2 changed files with 7 additions and 7 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue