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
More performance, speed first #16005
Comments
|
@MauricioFauth the DI yaml parsing is very very complicated and uses a lot of operations. |
|
If you think it is a good improvement, go ahead. And if I remember correctly, this is the only place where we use the yaml dependency. |
|
I am working on it, kind of complicated because I need to write some php code to process the array but I will end up making it work |
|
Isn't it easier to switch the file loader? |
|
The XML parsing is better than the yaml one but using a php array in a file should even better |
Signed-off-by: William Desportes <williamdes@wdes.fr>
|
Done in #16007 |
Signed-off-by: William Desportes <williamdes@wdes.fr>
Signed-off-by: William Desportes <williamdes@wdes.fr>
Yes, I added 2 entries. I want to make it obvious that we removed a dependency. Packaging folks ;) Signed-off-by: William Desportes <williamdes@wdes.fr>
Pull-request: phpmyadmin#16031 Ref: phpmyadmin#16005 Signed-off-by: William Desportes <williamdes@wdes.fr>
Pull-request: #16028 Signed-off-by: William Desportes <williamdes@wdes.fr>
Signed-off-by: William Desportes <williamdes@wdes.fr>
|
This patch did slow down the export by A LOT: e61b213 |
|
Performance finding: calling PHP getters a LOT of times (example: 50000 times) is not worth it. Use a public class attribute instead (and add |
|
Regarding good coding practice - and optimization. In looking through the PHPMyAdmin file 'move.js', I found many places where code developed a reference to an object using 'getElementById()'. While doing this once or twice is not a big deal, doing it within a loop (worse - multiple loops - perhaps looking at ALL of the columns for ALL of the tables available to Designer for example) is a big deal. To optimize this scenario, it would be considerably better to develop the necessary reference to the element (object), store that reference in a local var, and use the var in further calls to object attributes (for example, or adding/removing classes, css attributes, everything.) I saw a bug report a few months ago that called out designer for glitching during the drag of a table through a designer page - a common enough scenario. I replicated the problem on my (admittedly old - read Sssllllooowww) Dell system and solved the problem by rewriting everything I could find in move.js that met the scenario above. I only addressed cases where calls to 'getElementById()' occurred more than two times in a row - the break-even point when computing Big 'O' (without delving into exactly how JQuery works its magic :-) As a general rule - just my suggestion - but I would recommend that this type of optimization be a part of all 'best coding' practices - certainly with a project as deep and wide as PHPMyAdmin. I will be checking out other js files and templates to see if this concept can be used to advantage elsewhere. |
Signed-off-by: William Desportes <williamdes@wdes.fr>
Signed-off-by: William Desportes <williamdes@wdes.fr>
Signed-off-by: William Desportes <williamdes@wdes.fr>
This issue focuses on tracking performance issues and improvements that can be made.
You can use xdebug or xhprof. Xhprof is just better. Here is how to use it.
xdebug config
Here we are talking about milliseconds. This is the point of this issue.
The text was updated successfully, but these errors were encountered: