Hi everyone,
It seems that since that commit [1], the master is quite slow to import data. This seems to be linked to multi-bytes functions that are really slower compared to standard string functions.
I tried several variants of this, but without a good result: instead of always using PMA_StringMB, try to detect encoding and so use PMA_StringNative when possible. To improve this, I cached the encoding, to avoid to detect it each time. See [2] (this is not totally safe, here, for the tests, I removed the mb_* detection). But the result is not as good as before… I also tried something more experimental: convert all the strings used in PMA_String to UTF-8 string and so, mb_* functions won't convert anymore. But it is not effective either.
Do you have any idea about the way to improve it please? I thought about generalising the strpos to a strallpos/strposall (for redundant strpos) with an explicit encoding, not to let PHP convert each time.
Thanks for your help,
[1] https://github.com/phpmyadmin/phpmyadmin/commit/9b77d746aba [2] https://github.com/Tithugues/phpmyadmin/commit/ab6f493449d90e58bd4caa15740d8...
Hugues.