Issues
- String parsing significantly slower in Lucee than in OpenBDLDEV-2188Resolved issue: LDEV-2188Michael Offner
- CFMAIL/CFMAILPART do not respect WRAPTEXT values for TYPE="HTML"LDEV-1908Resolved issue: LDEV-1908Michael Offner
- Lucee Dies When Updates are set to AutomaticLDEV-1884Resolved issue: LDEV-1884Michael Offner
- cfimage throws an error when creating image from base64. Invalid argument to native writeImageLDEV-1874Resolved issue: LDEV-1874Pothys - MitrahSoft
- Some Lucee Admin Images Are Missing (Again)LDEV-1872Resolved issue: LDEV-1872Michael Offner
- Get an exception some tags contains localized character like 'i'LDEV-1848Resolved issue: LDEV-1848Pothys - MitrahSoft
- CFDocument fails to produce pdf with lmdp locked errorLDEV-1846Resolved issue: LDEV-1846Michael Offner
- Native queries convert empty strings to NULL with full null supportLDEV-1822Resolved issue: LDEV-1822Michael Offner
- No forms will post values (server-wide and on multiple domains)LDEV-1817Resolved issue: LDEV-1817
- getPageContext() with cfhtmlhead duplicates outputLDEV-1814Michael Offner
- cfparam type="integer" should not allow decimal points or trailing zerosLDEV-1805Resolved issue: LDEV-1805Igal Sapir
- toBase64 behaves differently with strings and numbersLDEV-1803Resolved issue: LDEV-1803Michael Offner
- invokeImplicitAccessor / triggerDataMember malfunctionLDEV-1789Michael Offner
- Cannot create MySQL DatasourceLDEV-1780Resolved issue: LDEV-1780Michael Offner
- S3 Content-Type meta data not set correctly for .css filesLDEV-1774Michael Offner
- Can't delete DirectoryWatcher created via Administrator.updateGatewayEntry() from web adminLDEV-1769Michael Offner
- DirectoryExists throws a NullPointerException in DirectoryWatcherLDEV-1767Resolved issue: LDEV-1767Igal Sapir
- Tomcat cannot be stopped if there's a DirectoryWatcher EventGatewayLDEV-1763Resolved issue: LDEV-1763Michael Offner
- XML/WDDX Serialization incorrectly handles surrogate pairsLDEV-1759
- Lucee fails to recreate a class after the cfm file is modifiedLDEV-1752Pothys - MitrahSoft
- NumberFormat() could not display number separatorLDEV-1748Resolved issue: LDEV-1748Michael Offner
- <cfsilent> Does Not Silent Custom TagLDEV-1737Resolved issue: LDEV-1737Michael Offner
22 of 22
String parsing significantly slower in Lucee than in OpenBD
Fixed
Description
Environment
CentOS / Tomcat
Details
Assignee
Michael OffnerMichael OffnerReporter
afteriafteriPriority
CriticalLabels
New Issue warning screen
Before you create a new Issue, please post to the mailing list first https://dev.lucee.org
Once the issue has been verified, one of the Lucee team will ask you to file an issue
Affects versions
Details
Details
Assignee
Michael Offner
Michael OffnerReporter
afteri
afteriPriority
Labels
New Issue warning screen
Before you create a new Issue, please post to the mailing list first https://dev.lucee.org
Once the issue has been verified, one of the Lucee team will ask you to file an issue
Affects versions
Created 21 March 2019 at 11:02
Updated 21 May 2024 at 19:36
Resolved 21 May 2024 at 19:36
Activity
Show:
Michael Offner21 March 2019 at 17:48
we do not use the replace function coming from java String, because they support regex and are because of that incompatible and slower. we will do some testing to find out what makes them slow, actually we have spend a lot of time to make this function as fast as possible
Zac Spitzer21 March 2019 at 15:58
there's an ongoing discussion about on the mailing list
As per described in Lucee developer forums, we found out after switching to Lucee that some of our existing functions that did tons of Replace() and other string functions were extremely slow compared to their execution on OpenBD (even with slower hardware).
This isn't exactly a measurable difference in isolated case, but the function in case was repeated several times in some templates - and those templates were the only ones throwing timeouts to our error logs. Once we replaced the custom function (a customized datetimeformat function replacement) with system's own such function, all the timeouts we have had over the past 14 months, disappeared.
The function had just lots of replaces, nothing more complicated than that and the string it took in, was a short one, basically a date mask:
Short clip from the function:
Now, I suspect that by switching from Lucee's internal Replace() to Java's replace functions on other site areas might improve performance there, too..
Suggest you look into this, even tho it might seem insignificant.