Announcing Dolt PGO Builds

2 min read

In a recent blog post Zach demonstrated that building Dolt using Golang's Profile-Guided Optimization (PGO) improved benchmarking performance by 5%.

Today we're excited to announce that Dolt releases, starting with v1.32.4, are now built using PGO!

After Zach demonstrated that PGO builds are actually worthwhile to create, we couldn't leave that free 5% performance improvement on the table.

So, we restructured Dolt's release process so that it generates a new pprof profile, created while benchmarking the Dolt release candidate with sysbench. We then use that profile to build the official Dolt release.

Here are the results from our inaugural PGO release that compares non-PGO v1.34.1 to the PGO v1.34.2 build:

Read Tests Dolt 1.34.1 Dolt 1.34.2 % Faster
covering_index_scan 2.91 2.81 3.6
groupby_scan 18.28 17.01 7.5
index_join 5.18 4.91 5.5
index_join_scan 2.22 2.14 3.7
index_scan 63.32 57.87 9.4
oltp_point_select 0.47 0.46 2.2
oltp_read_only 8.13 8.13 0.0
select_random_points 0.77 0.77 0.0
select_random_ranges 0.92 0.87 5.7
table_scan 63.32 57.87 9.4
types_table_scan 173.58 155.8 11.4
Write Tests Dolt 1.34.1 Dolt 1.34.2 % Faster
oltp_delete_insert 6.09 5.99 1.7
oltp_insert 2.97 3.02 -1.7
oltp_read_write 15.55 15.27 1.8
oltp_update_index 3.13 3.07 1.9
oltp_update_non_index 3.02 3.02 0.0
oltp_write_only 7.43 7.43 0.0
types_delete_insert 6.79 6.67 1.8
TPC-C TPS Tests Dolt 1.34.1 (TPS) Dolt 1.34.2 (TPS) % More
tpcc-scale-factor-1 13.51 15.5 14.7

As you can see from the tables above, Dolt saw great performance improvements on the read tests, boasting an overall 5.3% read speed up.

Dolt also improved slightly on writes, an overall .78% speed up, although one test was slower by 1.7%.

PGO built Dolt also increased its transactional throughput by almost 15%, as measure by our TPC-C benchmarks!

Conclusion

If you haven't yet done so, we encourage you to try out PGO builds yourself and let us know if you see the same benefits we've seen with Dolt!

You can check out each of our different product offerings below, to find which ones are right for you:

Also, don't hesitate to contact us here or on Discord.

SHARE

JOIN THE DATA EVOLUTION

Get started with Dolt

Or join our mailing list to get product updates.