Thanks SO MUCH @mjaric and @al2o3cr.
I’ve just tested this fix and selecting 10_000 rows of 9 floats went from 45.9 seconds down to 173ms, that is an awesome 260x speed improvement.
The GC also only kicks in 455 times instead of 68406 times.
These numbers are obviously specific to my tests on my machine and only relevant when querying ““lots”” of rows with floating point numbers. Regardless, the performace is still at least two orders of magnitude better than before this fix.
I’ve had a look at the types.ex file history and @naag removed the same tail append for tds_data_type_intn in 22cb46a.
In my tests the floats still come through with their full precision so I don’t see any negative effect on the returned dataset after commenting out line 508