Open ottok opened 7 years ago
Yes, that is a good idea!
In general, I think that the profiling aspect will be very important for this project, trying to pinpoint issues and detecting regressions as soon as possible.
Would it be possible to partition aspects of that larger diagram into smaller sub-diagrams via automation? Some people (like me) are a little thin on the brains and would nope out of the diagram linked here. Where a complex procedure or algorithm happens, I think it might be easier to box that up into an entity and then describe that entity elsewhere. Like a sub-process.
Once we start drilling down into the different components, we'll try to have diagrams specifically for each component as well (conceptual as well as profiling, like the above). Proper documentation should work at several levels of detail, so that you first get an overview, and then can drill down into the details as needed.
I'm looking at https://webcache.googleusercontent.com/search?q=cache:7CCKR8i2QYcJ:https://xdebug.org/docs/profiler+&cd=1&hl=en&ct=clnk&gl=uk (xdebug site seems to be down at this moment)
It seems we can automate diagrams profiling using that, then later pass to KCacheGrind or QCacheGrind to make diagrams.
I prefer your diagrams in PlantUML as they are easier to take apart and edit by hand, but they likely take a long time to make?
I might have an announcement in the coming days regarding the profiling automation.
As to the PlantUML diagrams, they take a bit more effort to produce, yes, but you can produce them at a conceptual level, creating different types of diagrams to document different aspects of the loading process.
The big one that is up there right now is just a first test to capture the general flow. The actual diagrams to use in the content we want to produce will be simpler, and thus easier to create and keep up-to-date.
Instead of, or in addition to, manually drawn diagrams, you could visualize the bootstrap process using the SVG images produced by Webgrind. For example see https://wceu2017-demo.seravo.com/webgrind/index.php?dataFile=cachegrind.out.wp-mo-loader&showFraction=0.98&op=function_graph