On Tue, 23 Feb 2016, Maciej Izak wrote:
Hi! I am active user of mORMot and Zeos, I'd like to forward here important message from Google+: https://plus.google.com/+ABouchez/posts/eGyvNBsrM9b Any chance to improve this? : Original message (author: A. Bouchez): FPC 3.0 Strings are SLOW... Did you experience this? After introducing of code pages to the String process, we discovered a huge slowdown at execution. http://wiki.freepascal.org/FPC_Unicode_support is confusing... We were not able to find a compilation mode in which the behavior was close to Delphi.
Define 'close to Delphi', because what exactly do you expect ? The implementation, to our knowledge, is Delphi compatible.
(except that in recent Delphis, string = widestring)
For instance, the code page of the string constants in source code are broken. Or in case of string comparison, RawByteString are converted to the current system code page, so are dead slow, and broke most of existing code. We had some discussion with ZEOS authors, and they are as concerned as we are. See http://synopse.info/forum/viewtopic.php?pid=19498#p19498 The FPC RTL introduced clearly some performance regressions. A lot of hidden charset conversion is done at runtime, for no benefit, and breaking all code expectations.
This is definitely something to take into account. But we cannot simply work out of the blue: Please submit bug reports with simple examples of cases where you think unnecessary code conversions are done. Michael. _______________________________________________ fpc-devel maillist - [email protected] http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
