Skip to content

Instantly share code, notes, and snippets.

@Allisone
Created May 21, 2012 22:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Allisone/942e34ef00da89b1f459 to your computer and use it in GitHub Desktop.
Save Allisone/942e34ef00da89b1f459 to your computer and use it in GitHub Desktop.
Call tree on PersistenceManager->onFlush() call
These are values I got from the xdebug profiling output via kCachegrind.
Test yourself with https://github.com/Allisone/Wojtowicz.AddALot
./flow3 addalot:setup:createElements 20 5 0
===========================================
PersistenceManager->onFlush
60 PersistenceManager->validateObject
60 ConjunctionValidator->validate
360 Result->merge
2160 Result->mergeProperty
2160 Result->mergeProperty
2160 Result->mergeProperty
2160 Result->getSubResults
1380 Result->forProperty
1800 Result->recurseThroughResult
1380 Result->merge
360 AbstractValidator->validate
120 CollectionValidator->isValid
120 Result->forProperty
120 Result->merge
120 ConjunctionValidator->validate
300 GenericObjectValidator->isValid
300 Result->forProperty
300 GenericObjectValidator->checkProperty
300 Result->merge
120 AbstractValidator->validate
180 ConjunctionValidator->validate
./flow3 addalot:setup:createElements 20 5 1
===========================================
PersistenceManager->onFlush
64 PersistenceManager->validateObject
64 ConjunctionValidator->validate
1984 Result->merge
26552 Result->mergeProperty
26552 Result->mergeProperty
26552 Result->mergeProperty
26552 Result->getSubResults
21944 Result->forProperty
24568 Result->recurseThroughResult
21944 Result->merge
1984 AbstractValidator->validate
704 CollectionValidator->isValid
960 Result->forProperty
960 Result->merge
960 ConjunctionValidator->validate
1984 GenericObjectValidator->isValid
1664 Result->forProperty
1664 GenericObjectValidator->checkProperty
1664 Result->merge
704 AbstractValidator->validate
960 ConjunctionValidator->validate
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment