Systems | Development | Analytics | API | Testing

PHP 8.4 Property Hooks: Can we get rid of getters/setters now? A benchmark.

The upcoming PHP 8.4 release will include the brand-new feature “property hooks”, a mechanism to add logic to a class property when read from or written to. One benefit of this feature is that you do not need to protect property access with a private property and public getter/setter methods anymore. You can find out how this feature works in the RFC and other places, but in the spirit of this blog we want to focus solely on the performance implications.

Choosing a PHP Library based on Performance

Sometimes, performance is the primary requirement when you are picking a third-party library to solve a task in your application. For CPU intensive work, there are often similar alternatives that you can choose from: To find out which one of them is more performant for your use-case, you can set up an experiment with microtime/hr_time calls and run them against each other. But: this provides fewer insights than running your tests directly with a Profiler such as XHProf or Tideways!

Dealing with MySQL Lock Timeouts: Bail faster

When using MySQL and InnoDB you will inevitably run into lock timeouts sometime, somewhere. We have recently started seeing this with some of our Shopware 6 customers in their storefronts or worker queues, so I was reminded to go back to 2017 in our codebase when we put a fix in place. In our case, this happened on tables that were constantly written to from many different sources in the code base.

Tideways 2024.2 Release

Get the cake, Tideways is turning ten! Exactly on this day ten years ago, we lifted the veil on Tideways’ predecessor and thus began our exciting journey that continues to this day. We would like to celebrate by presenting interesting new features to you. Summary: Don’t miss out on our webinar that will guide you through these new features, taking place July 3rd starting at 3 pm.

New in PHP 8.4: engine optimization of sprintf() to string interpolation

PHPs compiler and bytecode cache OPcache not only cache the compile step from PHP source code to virtual machine bytecode, they also include optimizations that can produce faster bytecode: For example PHP can: For PHP 8.4 Tideways sponsored the work of our colleague Tim to add another compiler optimization for the function sprintf().

Measuring the DOM Namespace Reconciliation Performance Fix

This is the story of the manufacturing of seven-league boots for a function that is responsible for processing XML/HTML data in the PHP library. Optimizations in the PHP standard library, like here in ext/dom, have the potential to speed up the performance of applications significantly by an upgrade to the current PHP version.

Tideways 2024.1 Release

You can now unpack the Christmas present that was promised to you at the end of 2023! As you may have already read in the Flamegraph Feature Preview, this exciting new feature of the Profiler is now the focus of our first release in 2024. The Flamegraph complements the Timeline and Callgraph features and visualizes Aggregated Traces. The goal was to provide profiling information across many traces and thereby gaining new and deeper insights into performance.

Tideways renews its commitment to sponsoring the PHP Foundation

As a founding member and major contributor to the success of the PHP Foundation, Tideways sponsored the Foundation with 12,000 USD in 2023. As a member of the administrative board of the PHP Foundation, the advancement of the open source language PHP is key for us. In the founding year, we supported the Foundation with 10,000 USD and followed this up in 2022 with another 15,000 USD. As a major sponsor, it is our declared goal to uphold our commitment to PHP and the foundation.

Flamegraph Feature Preview Christmas Present, Thank you for 2023!

As a Christmas present, we have started rolling out a new feature for the Profiler: flamegraph rendering in addition to the existing Timeline and Callgraph. This is a feature preview and will see more changes in Q1 of 2024. For now, only customers with the most recent plans (Tideways 6) can access them, or you can view them in traces of the „demo“ organization. Let us know what you think of it!