mariaex
mariaex copied to clipboard
Optimise row parser to delay sub-binary creation
Coverage remained the same at 65.616% when pulling d4337e76eff2ec89a5df5cb1ac8acf307056902e on samphilipd:row_parser_optimisations into 0e02865c00e98bc809a75bf6f3fe1de8677bd278 on xerions:master.
Coverage increased (+0.1%) to 65.753% when pulling d4337e76eff2ec89a5df5cb1ac8acf307056902e on samphilipd:row_parser_optimisations into 0e02865c00e98bc809a75bf6f3fe1de8677bd278 on xerions:master.
Coverage remained the same at 65.616% when pulling d4337e76eff2ec89a5df5cb1ac8acf307056902e on samphilipd:row_parser_optimisations into 0e02865c00e98bc809a75bf6f3fe1de8677bd278 on xerions:master.
Hi @samphilipd, can you explain your changes?
@surik Sort of. I don't know why this works, but with this change three "NOT OPTIMIZED" becomes "OPTIMIZED" in the output when @compile :bin_opt_info
is set.
I'm not sure that it gives something expect some changes in compiler output with bin_opt_info
option.
This change prevents a binary reference being created when decode_text_part
is called in the tail of decode_text_rows
but not other functions in this change. In the other cases it simply delays the reference being created to next call. It works for those cases as no pattern matching to left of the rest arg.