On Wed, 3 Apr 2019 17:29:47 -0400 Richard Hipp <d...@sqlite.org> wrote:
> On 4/3/19, Joshua Wise <joshuathomasw...@gmail.com> wrote: > > From my naive understanding, memcmp() is used to efficiently > > compare long strings of bytes. But where in SQLite3 is it necessary > > to compare long strings of floating point numbers? I, of course, > > can imagine SQL queries plucking single floating point values from > > rows or indexes, but I can?t imagine where the long strings would > > be. Could you enlighten me? > > Comparing keys in a btree search uses a lot of CPU cycles. If the > comparison can be done using memcmp() rather than some custom > function, the comparison goes much faster, which makes searching > btrees faster. On the other hand, what table has a floating point number in its key? How do you even express the value of such a key for an exact match? There is also a significant cost of converting to and from IEEE format. In my experience bulk-loading quantitative databases, I encountered many occasions in which parsing the input accounted for 50% of the computation. The limit wasn't network bandwidth or server speed, it was data conversion. --jkl _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users