This is an automated email from the ASF dual-hosted git repository.

adelbene pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/wicket.git


The following commit(s) were added to refs/heads/master by this push:
     new 655f0da413 WICKET-6991 ResourceAggregator is resizing the 
StringBuilder several times.
655f0da413 is described below

commit 655f0da413a183539ff519640b7dedff82d20ce0
Author: Alan Stange <[email protected]>
AuthorDate: Fri May 6 11:31:54 2022 -0400

    WICKET-6991 ResourceAggregator is resizing the StringBuilder several times.
---
 .../org/apache/wicket/markup/head/ResourceAggregator.java     | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/head/ResourceAggregator.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/head/ResourceAggregator.java
index 659a0e7e34..963a5d829b 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/head/ResourceAggregator.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/head/ResourceAggregator.java
@@ -346,7 +346,9 @@ public class ResourceAggregator extends 
DecoratingHeaderResponse
         */
        private void renderCombinedEventScripts()
        {
-               StringBuilder combinedScript = new StringBuilder();
+               // make a rough estimate of the size to which this 
StringBuilder will grow
+               int length = domReadyItemsToBeRendered.size() * 256;
+               StringBuilder combinedScript = new StringBuilder(length);
                for (HeaderItem curItem : domReadyItemsToBeRendered)
                {
                        if (markItemRendered(curItem))
@@ -364,9 +366,8 @@ public class ResourceAggregator extends 
DecoratingHeaderResponse
                }
                if (combinedScript.length() > 0)
                {
-                       
combinedScript.append("\nWicket.Event.publish(Wicket.Event.Topic.AJAX_HANDLERS_BOUND);");
-                       getRealResponse().render(
-                               
OnDomReadyHeaderItem.forScript(combinedScript.append('\n').toString()));
+                       
combinedScript.append("\nWicket.Event.publish(Wicket.Event.Topic.AJAX_HANDLERS_BOUND);\n");
+                       
getRealResponse().render(OnDomReadyHeaderItem.forScript(combinedScript));
                }
 
                combinedScript.setLength(0);
@@ -382,7 +383,7 @@ public class ResourceAggregator extends 
DecoratingHeaderResponse
                if (combinedScript.length() > 0)
                {
                        getRealResponse().render(
-                               
OnLoadHeaderItem.forScript(combinedScript.append('\n').toString()));
+                               
OnLoadHeaderItem.forScript(combinedScript.append('\n')));
                }
        }
 

Reply via email to