tree: dea35d4db701557664151abcd87bef7b4741d72c [path history] [tgz]
  1. graph.rb
  2. meson.build
  3. prepare-100K.sql
  4. prepare-10M.sql
  5. prepare-1M.sql
  6. README.md
  7. result.csv
  8. result.svg
  9. select-adbc-flight-sql.rb
  10. select-adbc-postgresql.rb
  11. select.c
  12. select.rb
  13. select.sql
benchmark/integer/README.md

Benchmark - only with integer data

How to run

Install Apache Arrow Flight SQL PostgreSQL adapter.

Run PostgreSQL with the following configuration:

shared_preload_libraries = 'arrow_flight_sql'

Prepare database:

psql postgres -c '\i benchmark/integer/prepare-1M.sql'

It creates afs_benchmark database and data table in the database. It also inserts 10M records with random integers to the table.

Run the following programs:

  • select.rb: It uses Apache Arrow Flight SQL
  • select: It uses PostgreSQL's C API
  • select.sql: You need to use psql to run this

All of them just run SELECT * FROM data.

Result

Here is a benchmark result on the following environment:

  • OS: Debian GNU/Linux sid
  • CPU: AMD Ryzen 9 3900X 12-Core Processor
  • Memory: 64GiB
  • PostgreSQL: 16 (not released yet) 019f8624664dbf1e25e2bd721c7e99822812d109
  • Apache Arrow: 12.0.0-SNAPSHOT 237705bf17486cfc35ab7d1ddfe59dd60f042ab8
  • Apache Arrow Flight SQL PostgreSQL adapter: 0.1.0 (not released yet) 120e7bbd3fd580c892c988499d488c7e8b34efe2

Graph

100K records:

Apache Arrow Flight SQLCpsql
0.0140.0120.011

1M records:

Apache Arrow Flight SQLCpsql
0.0690.1160.107

10M records:

Apache Arrow Flight SQLCpsql
0.6531.1541.128