Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Performance issues with metadatas #137

Merged
merged 5 commits into from
Dec 4, 2022

Conversation

dmitryuk
Copy link
Contributor

@dmitryuk dmitryuk commented Dec 4, 2022

Closes DamienHarper/auditor-bundle#319
Metadata cache should be configured to start it working

@codecov
Copy link

codecov bot commented Dec 4, 2022

Codecov Report

Merging #137 (d2da374) into 2.x (098fe50) will decrease coverage by 0.03%.
The diff coverage is 94.44%.

@@            Coverage Diff             @@
##              2.x     #137      +/-   ##
==========================================
- Coverage   92.98%   92.95%   -0.04%     
==========================================
  Files          44       44              
  Lines        1526     1561      +35     
==========================================
+ Hits         1419     1451      +32     
- Misses        107      110       +3     
Impacted Files Coverage Δ
src/Provider/Doctrine/DoctrineProvider.php 94.21% <94.11%> (-1.14%) ⬇️
...trine/Auditing/Transaction/TransactionHydrator.php 83.01% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@DamienHarper
Copy link
Owner

Thanks again @dmitryuk! This one was on my roadmap :)
Do you have some sort of before/after benchmark to better understand the gain?

@DamienHarper DamienHarper merged commit 1e2e880 into DamienHarper:2.x Dec 4, 2022
@dmitryuk
Copy link
Contributor Author

dmitryuk commented Dec 5, 2022

Test example:

    public function testExampleAsd()
    {
        $container = self::getContainer();
        $provider = new DoctrineProvider(new Configuration([]));
        $em = $container->get('doctrine.orm.entity_manager');

        for ($i = 0; $i< 50; $i++) {
            $provider->loadAnnotations($em, []);
        }
    }

Without cache: Time: 00:26.980, Memory: 52.50 MB

With cache: Time: 00:01.702, Memory: 46.50 MB

DamienHarper pushed a commit that referenced this pull request Dec 5, 2022
* Cache DH Annotations
* speed
* remove getOwner call

Co-authored-by: a.dmitryuk <a.dmitryuk@movavi.com>
DamienHarper added a commit that referenced this pull request Jul 14, 2024
* Fix bug: exception while creating audit table schema when using single table inheritance (#133)

* fix #132

* entity

Co-authored-by: a.dmitryuk <a.dmitryuk@movavi.com>

* Updated README.md

* Updated CI

* Fixed annotations in tests

* Regression fix.

Fixes DamienHarper/auditor-bundle#334

* Updated CI

* Performance issues with metadatas (#137)

* Cache DH Annotations
* speed
* remove getOwner call

Co-authored-by: a.dmitryuk <a.dmitryuk@movavi.com>

* CreateSchemaListener not updating inheritance tables (#139)

* Fix: Attempted to call an undefined method named "getMetadataCache" of class "Doctrine\ORM\Configuration". (#144)

* Fix: Attempted to call an undefined method named "introspectSchema" of class "Doctrine\DBAL\Schema\PostgreSQLSchemaManager" (#143)

* Fixed invokable storage mapper (see #146) (#148)

* Fixed broken annotation registration since doctrine/orm 2.14

* improved the TransactionProcessor to convert encoding of diff properly (#152)

* improved the TransactionProcessor to convert encoding of diff properly

* adapted quotes in TransactionProcessor to single quotes

* Fixed compatibility issue with doctrine/event-manager ^2.0 (#157)

* PHP-CS-Fixer

* Validate that diff is a string before passing to mb_convert_encoding (#156)

* PHP-CS-Fixer

* Support  doctrine annotations 2.0 (#158)

* topic 344  doctrine annotations 2.0

---------

Co-authored-by: a.dmitryuk <a.dmitryuk@movavi.com>

* PHP-CS-Fixer

* Fix failing CI (lock related)

* PHP-CS-Fixer

* Fixes `diffs` column type when JSON type is supported

* Fixed CI (2.x)

* Fixed CI (2.x)

* Fixed CI (2.x)

* Fixed CI (2.x)

* Fixed CI (2.x)

* Fix 185 (#186)

* fixes #185

* PHP-CS-Fixer

---------

Co-authored-by: Damien Harper <damien.harper@gmail.com>

* skip embedded class from schema listener (#189)

Co-authored-by: Guillaume Sainthillier <guillaume.sainthillier@gmail.com>

* Fixed CI (2.x)

* Typo

* PHP-CS-Fixer

* Update deps + PHP-CS-Fixer

* PHP-CS-Fixer

* PHP-CS-Fixer (3.48.0)

* Detected wrapped driver (#195)

* - updated DHDriver and use parent::connect instead of dedicated field
- added getWrappedDriver to extract wrapped driver.
- tests

Signed-off-by: Oleg Andreyev <oleg@andreyev.lv>

* Fixed PHPStan error

---------

Signed-off-by: Oleg Andreyev <oleg@andreyev.lv>
Co-authored-by: Damien Harper <damien.harper@gmail.com>

* fix

Signed-off-by: Oleg Andreyev <oleg@andreyev.lv>

* php-cs-fixer

Signed-off-by: Oleg Andreyev <oleg@andreyev.lv>

* removed getSubscribedEvents from CreateSchemaListener

Signed-off-by: Oleg Andreyev <oleg@andreyev.lv>

* phpstan

Signed-off-by: Oleg Andreyev <oleg@andreyev.lv>

* fix DoctrineSubscriber + tests

Signed-off-by: Oleg Andreyev <oleg@andreyev.lv>

* fix Issue174Test

Signed-off-by: Oleg Andreyev <oleg@andreyev.lv>

* removed duplicate code, fixed test

Signed-off-by: Oleg Andreyev <oleg@andreyev.lv>

---------

Signed-off-by: Oleg Andreyev <oleg@andreyev.lv>
Co-authored-by: Alexander Dmitryuk <xakzona@bk.ru>
Co-authored-by: a.dmitryuk <a.dmitryuk@movavi.com>
Co-authored-by: damienharper <damien.harper@gmail.com>
Co-authored-by: Jörn Dyherrn <joern@dyherrn.dev>
Co-authored-by: Martijn Boers <2955898+martijnboers@users.noreply.github.com>
Co-authored-by: Guillaume Sainthillier <guillaume.sainthillier@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants