miller/pkg/transformers
Stephen Kitt f0a7c5832f
Performance and style fixes (#1981)
* Switch to integer ranges in for loops

Signed-off-by: Stephen Kitt <steve@sk2.org>

* Switch to slices functions where appropriate

A number of utility functions can be replaced outright; since Miller
can technically be used as a library, these are deprecated rather than
removed. go:fix directives ensure that they can be replaced
automatically.

Signed-off-by: Stephen Kitt <steve@sk2.org>

* Switch to reflect.TypeFor

This is slightly more efficient than TypeOf when the type is known at
compile time.

Signed-off-by: Stephen Kitt <steve@sk2.org>

* Switch to strings.SplitSeq instead of strings.Split

SplitSeq results in fewer allocations.

Signed-off-by: Stephen Kitt <steve@sk2.org>

* Drop obsolete build directives

Signed-off-by: Stephen Kitt <steve@sk2.org>

* Use min/max instead of explicit comparisons

Signed-off-by: Stephen Kitt <steve@sk2.org>

* Append slices instead of looping

Signed-off-by: Stephen Kitt <steve@sk2.org>

---------

Signed-off-by: Stephen Kitt <steve@sk2.org>
2026-02-18 09:19:31 -05:00
..
utils Performance and style fixes (#1981) 2026-02-18 09:19:31 -05:00
aaa_chain_transformer.go Performance and style fixes (#1981) 2026-02-18 09:19:31 -05:00
aaa_record_transformer.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
aaa_transformer_table.go Neaten some comments (#1973) 2026-02-16 13:38:49 -05:00
altkv.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
bar.go Performance and style fixes (#1981) 2026-02-18 09:19:31 -05:00
bootstrap.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
case.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
cat.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
check.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
clean_whitespace.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
count.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
count_similar.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
cut.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
decimate.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
doc.go Export library code in pkg/ (#1391) 2023-09-10 17:15:13 -04:00
fill_down.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
fill_empty.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
flatten.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
format_values.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
fraction.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
gap.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
grep.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
group_by.go Performance and style fixes (#1981) 2026-02-18 09:19:31 -05:00
group_like.go Performance and style fixes (#1981) 2026-02-18 09:19:31 -05:00
having_fields.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
head.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
histogram.go Performance and style fixes (#1981) 2026-02-18 09:19:31 -05:00
join.go Performance and style fixes (#1981) 2026-02-18 09:19:31 -05:00
json_parse.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
json_stringify.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
label.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
latin1_to_utf8.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
merge_fields.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
most_or_least_frequent.go Performance and style fixes (#1981) 2026-02-18 09:19:31 -05:00
nest.go Performance and style fixes (#1981) 2026-02-18 09:19:31 -05:00
nothing.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
put_or_filter.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
README.md Export library code in pkg/ (#1391) 2023-09-10 17:15:13 -04:00
regularize.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
remove_empty_columns.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
rename.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
reorder.go Performance and style fixes (#1981) 2026-02-18 09:19:31 -05:00
repeat.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
reshape.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
sample.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
sec2gmt.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
sec2gmtdate.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
seqgen.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
shuffle.go Performance and style fixes (#1981) 2026-02-18 09:19:31 -05:00
skip_trivial_records.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
sort.go Performance and style fixes (#1981) 2026-02-18 09:19:31 -05:00
sort_within_records.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
sparsify.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
split.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
stats1.go Performance and style fixes (#1981) 2026-02-18 09:19:31 -05:00
stats2.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
step.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
subs.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
summary.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
surv.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
tac.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
tail.go Performance and style fixes (#1981) 2026-02-18 09:19:31 -05:00
tee.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
template.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
top.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
unflatten.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
uniq.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
unspace.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
unsparsify.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00
utf8_to_latin1.go Improve error propagation (#1975) 2026-02-16 16:48:41 -05:00

Logic for transforming input records into output records as requested by the user (sort, filter, etc.).:

  • The IRecordTransformer abstract record-transformer interface datatype, as well as the ChainTransformer Go-channel chaining mechanism for piping one transformer into the next.
  • The transformer lookup table, used for Miller command-line parsing, verb construction, and online help.
  • All the concrete record-transformers such as cat, tac, sort, put, and so on.