https://wiki.postgresql.org/images/5/50/PGStrom_Fig_MicroBen...
Or am I reading that incorrectly?
How is that possible?
https://wiki.postgresql.org/images/5/50/PGStrom_Fig_MicroBen...
Or am I reading that incorrectly?
How is that possible?
I'll guess:
It's all in-memory, so not I/O-bound. Rows are processed in parallel with PGStrom (in 15MB chunks), while Postgres does it sequentially in one thread. Apparently moving the data around is fast enough not to matter.
The gpu was designed so you can, lets say, move all vertices in a character's body 1 inch forward, you would need to process this one translation for potentially thousands of vertices. It was also designed to do bitmap operations very quickly where you need to get the same image, but smaller so the GPU would combine nearby pixels to provide a good heuristic of what that same image would look like further away.
Many interesting queries in normalised databases involve a lot of joins. In a BCNF database most interesting queries use 3 or more joins. Whether or not I believe the microbenchmarks is another thing :)