Skip to content

Performance: PGO applicability #300

@zamazan4ik

Description

@zamazan4ik

Description
I suggest adding PGO (+ BOLT) support to the project. According to my local tests, I have reached with sky-bench -q1000000 -r20 the following results (local runs on Apple Macbook M1 Pro):
Without PGO (default release build):

===========RESULTS===========
SET    140810.697866/sec
UPDATE 146618.948096/sec
GET    137469.544488/sec
=============================

With PGO:

===========RESULTS===========
SET    153383.657977/sec
UPDATE 156045.351506/sec
GET    159065.787814/sec
=============================

Results are a little bit unstable but the PGO version is always more performant than non-PGO. BOLT (LLVM BOLT) also could help here but I haven't tested it yet.

Suggested solutions

  • Optimize provided to the users' binaries with PGO and BOLT (if any)
  • Write a note in the project about optimizing Skytable with PGO to gain even more performance

More PGO-related benchmark results (including many databases like Redis, PostgreSQL, ClickHouse) are available here - https://github.com/zamazan4ik/awesome-pgo .

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-performanceThis relates to performance

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions