Skip to content

add type in property metadata#170

Merged
DavidBadura merged 1 commit into1.18.xfrom
add-type-in-property-metadata
Mar 13, 2026
Merged

add type in property metadata#170
DavidBadura merged 1 commit into1.18.xfrom
add-type-in-property-metadata

Conversation

@DavidBadura
Copy link
Member

@DavidBadura DavidBadura commented Mar 13, 2026

So that they can be used in the middleware.

@DavidBadura DavidBadura added this to the 1.18.0 milestone Mar 13, 2026
@DavidBadura DavidBadura added the enhancement New feature or request label Mar 13, 2026
@DavidBadura DavidBadura force-pushed the add-type-in-property-metadata branch from 96f5ace to 9ffd0d6 Compare March 13, 2026 16:46
@github-actions
Copy link

github-actions bot commented Mar 13, 2026

Hello 👋

here is the most recent benchmark result:

StackHydratorBench
==================

+-------------------------------+--------------------+------------------+-----------------+------------+
|                               | time (kde mode)                       | memory                       |
+-------------------------------+--------------------+------------------+-----------------+------------+
| subject                       | Tag: <current>     | Tag: base        | Tag: <current>  | Tag: base  |
+-------------------------------+--------------------+------------------+-----------------+------------+
| benchHydrate1Object ()        | 225.400μs (±0.00%) | 3.800μs (±0.00%) | 2.816mb         | 3.252mb    |
| benchExtract1Object ()        | 4.000μs (±0.00%)   | 4.000μs (±0.00%) | 2.770mb         | 3.252mb    |
| benchHydrate1000Objects ()    | 2.709ms (±0.00%)   | 2.589ms (±0.00%) | 3.006mb         | 3.344mb    |
| benchExtract1000Objects ()    | 2.323ms (±0.00%)   | 2.360ms (±0.00%) | 2.934mb         | 3.396mb    |
| benchHydrate1000000Objects () | 1.420s (±0.00%)    | 1.408s (±0.00%)  | 3.006mb         | 3.344mb    |
| benchExtract1000000Objects () | 1.472s (±0.00%)    | 1.440s (±0.00%)  | 2.934mb         | 2.933mb    |
+-------------------------------+--------------------+------------------+-----------------+------------+

HydratorWithLazyBench
=====================

+------------------------------------------+--------------------+--------------------+-----------------+------------+
|                                          | time (kde mode)                         | memory                       |
+------------------------------------------+--------------------+--------------------+-----------------+------------+
| subject                                  | Tag: <current>     | Tag: base          | Tag: <current>  | Tag: base  |
+------------------------------------------+--------------------+--------------------+-----------------+------------+
| benchHydrate1Object ()                   | 1.000μs (±0.00%)   | 0.800μs (±0.00%)   | 2.803mb         | 2.770mb    |
| benchHydrate1ObjectTriggerInit ()        | 4.600μs (±0.00%)   | 97.000μs (±0.00%)  | 2.803mb         | 2.811mb    |
| benchHydrate1000Objects ()               | 458.000μs (±0.00%) | 502.667μs (±0.00%) | 2.809mb         | 2.809mb    |
| benchHydrate1000ObjectsTriggerInit ()    | 3.333ms (±0.00%)   | 3.315ms (±0.00%)   | 2.813mb         | 2.851mb    |
| benchHydrate1000000Objects ()            | 308.365ms (±0.00%) | 314.886ms (±0.00%) | 2.809mb         | 2.809mb    |
| benchHydrate1000000ObjectsTriggerInit () | 2.200s (±0.00%)    | 2.239s (±0.00%)    | 2.813mb         | 2.851mb    |
+------------------------------------------+--------------------+--------------------+-----------------+------------+

HydratorBench
=============

+-------------------------------+------------------+--------------------+-----------------+------------+
|                               | time (kde mode)                       | memory                       |
+-------------------------------+------------------+--------------------+-----------------+------------+
| subject                       | Tag: <current>   | Tag: base          | Tag: <current>  | Tag: base  |
+-------------------------------+------------------+--------------------+-----------------+------------+
| benchHydrate1Object ()        | 4.000μs (±0.00%) | 186.400μs (±0.00%) | 2.803mb         | 2.810mb    |
| benchExtract1Object ()        | 4.000μs (±0.00%) | 4.200μs (±0.00%)   | 2.803mb         | 2.770mb    |
| benchHydrate1000Objects ()    | 2.492ms (±0.00%) | 2.451ms (±0.00%)   | 2.862mb         | 2.861mb    |
| benchExtract1000Objects ()    | 2.388ms (±0.00%) | 2.594ms (±0.00%)   | 2.828mb         | 2.819mb    |
| benchHydrate1000000Objects () | 1.365s (±0.00%)  | 1.349s (±0.00%)    | 2.862mb         | 2.861mb    |
| benchExtract1000000Objects () | 1.392s (±0.00%)  | 1.476s (±0.00%)    | 2.828mb         | 2.819mb    |
+-------------------------------+------------------+--------------------+-----------------+------------+

HydratorWithCryptographyBench
=============================

+-------------------------------+-------------------+-------------------+-----------------+------------+
|                               | time (kde mode)                       | memory                       |
+-------------------------------+-------------------+-------------------+-----------------+------------+
| subject                       | Tag: <current>    | Tag: base         | Tag: <current>  | Tag: base  |
+-------------------------------+-------------------+-------------------+-----------------+------------+
| benchHydrate1Object ()        | 9.200μs (±0.00%)  | 8.200μs (±0.00%)  | 2.796mb         | 2.796mb    |
| benchExtract1Object ()        | 11.000μs (±0.00%) | 10.800μs (±0.00%) | 2.796mb         | 2.796mb    |
| benchHydrate1000Objects ()    | 4.745ms (±0.00%)  | 4.498ms (±0.00%)  | 3.076mb         | 3.076mb    |
| benchExtract1000Objects ()    | 6.168ms (±0.00%)  | 6.770ms (±0.00%)  | 2.974mb         | 2.944mb    |
| benchHydrate1000000Objects () | 2.676s (±0.00%)   | 2.612s (±0.00%)   | 3.076mb         | 3.076mb    |
| benchExtract1000000Objects () | 4.308s (±0.00%)   | 4.463s (±0.00%)   | 2.974mb         | 2.944mb    |
+-------------------------------+-------------------+-------------------+-----------------+------------+

StackHydratorWithCryptographyBench
==================================

+-------------------------------+------------------+------------------+-----------------+------------+
|                               | time (kde mode)                     | memory                       |
+-------------------------------+------------------+------------------+-----------------+------------+
| subject                       | Tag: <current>   | Tag: base        | Tag: <current>  | Tag: base  |
+-------------------------------+------------------+------------------+-----------------+------------+
| benchHydrate1Object ()        | 5.200μs (±0.00%) | 5.800μs (±0.00%) | 2.796mb         | 2.796mb    |
| benchExtract1Object ()        | 5.600μs (±0.00%) | 5.400μs (±0.00%) | 2.796mb         | 2.796mb    |
| benchHydrate1000Objects ()    | 3.659ms (±0.00%) | 3.728ms (±0.00%) | 3.084mb         | 3.083mb    |
| benchExtract1000Objects ()    | 3.766ms (±0.00%) | 3.683ms (±0.00%) | 2.973mb         | 2.972mb    |
| benchHydrate1000000Objects () | 2.050s (±0.00%)  | 2.129s (±0.00%)  | 3.084mb         | 3.083mb    |
| benchExtract1000000Objects () | 2.187s (±0.00%)  | 2.179s (±0.00%)  | 2.973mb         | 2.972mb    |
+-------------------------------+------------------+------------------+-----------------+------------+

This comment gets update everytime a new commit comes in!

@DavidBadura DavidBadura force-pushed the add-type-in-property-metadata branch from 9ffd0d6 to 0eb7670 Compare March 13, 2026 16:47

if ($normalizer instanceof TypeAwareNormalizer) {
$normalizer->handleType($type ?? $this->typeResolver->resolve($reflectionProperty));
$normalizer->handleType($this->typeResolver->resolve($reflectionProperty));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not use the type already provided?

Suggested change
$normalizer->handleType($this->typeResolver->resolve($reflectionProperty));
$normalizer->handleType($type);

@DavidBadura DavidBadura merged commit 21e4d12 into 1.18.x Mar 13, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants