Details
Assignee
UnassignedUnassignedReporter
Zac SpitzerZac SpitzerPriority
NewLabels
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
Sprint
Details
Details
Assignee
Unassigned
UnassignedReporter
Zac Spitzer
Zac SpitzerPriority
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
Sprint
Created 20 November 2024 at 16:10
Updated 17 December 2024 at 15:54
I noticed there’s a lot of repeated
PageSourceCode
initial parsing into lines for cfc'shttps://github.com/lucee/Lucee/blob/6.2/core/src/main/java/lucee/transformer/cfml/tag/CFMLTransformer.java#L201
this is a cfc using nice modern
component { }
style, yet it’s being parsed twice, due to the fallback logic for handling cfcs inside cfscript etci.e. https://github.com/Ortus-Solutions/TestBox/blob/development/system/reports/ConsoleReporter.cfc
[java] [script] PageSourceCode1: D:\work\lucee6\temp\testbox\testbox\system\reports\ConsoleReporter.cfc [java] [script] java.lang.Exception: Stack trace [java] [script] at lucee.aprint.ds(aprint.java:68) [java] [script] at lucee.aprint.ds(aprint.java:91) [java] [script] at lucee.aprint.ds(aprint.java:103) [java] [script] at lucee.transformer.util.PageSourceCode.<init>(PageSourceCode.java:38) [java] [script] at lucee.transformer.cfml.tag.CFMLTransformer.transform(CFMLTransformer.java:159) [java] [script] at lucee.runtime.compiler.CFMLCompilerImpl._compile(CFMLCompilerImpl.java:103) [java] [script] at lucee.runtime.compiler.CFMLCompilerImpl.compile(CFMLCompilerImpl.java:75) [java] [script] at lucee.runtime.PageSourceImpl._compile(PageSourceImpl.java:498) [java] [script] at lucee.runtime.PageSourceImpl.compile(PageSourceImpl.java:464) [java] [script] at lucee.runtime.PageSourceImpl.loadPhysical(PageSourceImpl.java:371) [java] [script] at lucee.runtime.PageSourceImpl.loadPageThrowTemplateException(PageSourceImpl.java:235) [java] [script] at lucee.runtime.PageSourceImpl.loadPage(PageSourceImpl.java:1125) [java] [script] at lucee.runtime.component.ComponentLoader._search(ComponentLoader.java:382) [java] [script] at lucee.runtime.component.ComponentLoader._search(ComponentLoader.java:212) [java] [script] at lucee.runtime.component.ComponentLoader.searchComponent(ComponentLoader.java:100) [java] [script] at lucee.runtime.functions.other._CreateComponent.call(_CreateComponent.java:67) [java] [script] new src code [java] [script] PageSourceCode2: D:\work\lucee6\temp\testbox\testbox\system\reports\ConsoleReporter.cfc [java] [script] java.lang.Exception: Stack trace [java] [script] at lucee.aprint.ds(aprint.java:68) [java] [script] at lucee.aprint.ds(aprint.java:91) [java] [script] at lucee.aprint.ds(aprint.java:103) [java] [script] at lucee.transformer.util.PageSourceCode.<init>(PageSourceCode.java:46) [java] [script] at lucee.transformer.cfml.tag.CFMLTransformer.transform(CFMLTransformer.java:203) [java] [script] at lucee.runtime.compiler.CFMLCompilerImpl._compile(CFMLCompilerImpl.java:103) [java] [script] at lucee.runtime.compiler.CFMLCompilerImpl.compile(CFMLCompilerImpl.java:75) [java] [script] at lucee.runtime.PageSourceImpl._compile(PageSourceImpl.java:498) [java] [script] at lucee.runtime.PageSourceImpl.compile(PageSourceImpl.java:464) [java] [script] at lucee.runtime.PageSourceImpl.loadPhysical(PageSourceImpl.java:371) [java] [script] at lucee.runtime.PageSourceImpl.loadPageThrowTemplateException(PageSourceImpl.java:235) [java] [script] at lucee.runtime.PageSourceImpl.loadPage(PageSourceImpl.java:1125) [java] [script] at lucee.runtime.component.ComponentLoader._search(ComponentLoader.java:382) [java] [script] at lucee.runtime.component.ComponentLoader._search(ComponentLoader.java:212) [java] [script] at lucee.runtime.component.ComponentLoader.searchComponent(ComponentLoader.java:100) [java] [script] at lucee.runtime.functions.other._CreateComponent.call(_CreateComponent.java:67)
some parsing perf stats in nanoseconds, so it’s less than 1ms per larger file but it all adds up
https://github.com/Ortus-Solutions/TestBox/blob/v3.2.0/system/Assertion.cfc
1052 lines (943 loc) · 33.4 KB
[java] [script] D:\\work\\lucee6\\temp\\testbox\\testbox\\system\\Assertion.cfc [java] [script] SourceCode init took 799900 [java] [script] PageSourceCode1: D:\\work\\lucee6\\temp\\testbox\\testbox\\system\\Assertion.cfc [java] [script] SourceCode init took 770300 [java] [script] PageSourceCode2: D:\\work\\lucee6\\temp\\testbox\\testbox\\system\\Assertion.cfc