While we were talking with @mtarld, we noticed the method LiveComponentMetadataFactory::createLivePropMetadata could be optimized.
For a given class name and property name, the result will always be the same, meaning we don't have to re-compute the LivePropMetadata|LegacyLivePropMetadata each time this method is called, especially by the LiveComponentHydrator.
The result could be put in static-cache or maybe in a filesystem cache (e.g.: if introducing a warmup system).