Drupal\serialization\Normalizer\NormalizerBase now implements CacheableSupportsMethodInterface and returns FALSE by default. This means classes extending the abstract classes from core keep working as they did before. All concrete implementations in now have a method hasCacheableSupportsMethod that returns TRUE.
This interface was introduced in Symfony 4.1.
Applications can define lots of normalizers/denormalizers and Symfony must call the
supportsNormalization()method for each of them whenever a new object is normalized/denormalized. In theory the result ofsupportsNormalization()can depend on multiple factors. In practice most normalizers only depend on the type and format and that information is easily cacheable.
This is also true for Drupal, we can cache the result based on the type and format passed, which means a lot less calls. This change speeds up normalizing between 5 and 60 percent.