From 2cfe0fb2ffc80a145df375e5604bd7ccee8a9e10 Mon Sep 17 00:00:00 2001 From: typer Date: Sat, 28 Nov 2020 18:40:07 -0800 Subject: [PATCH 1/3] improved showWords() performance by batching appends --- src/js/script.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/js/script.js b/src/js/script.js index 3ae1a8b29..3c9229875 100644 --- a/src/js/script.js +++ b/src/js/script.js @@ -843,14 +843,15 @@ function addWord() { function showWords() { $("#words").empty(); + let wordsHTML = ""; for (let i = 0; i < wordsList.length; i++) { - let w = "
"; + wordsHTML += "
"; for (let c = 0; c < wordsList[i].length; c++) { - w += "" + wordsList[i].charAt(c) + ""; + wordsHTML += "" + wordsList[i].charAt(c) + ""; } - w += "
"; - $("#words").append(w); + wordsHTML += "
"; } + $("#words").html(wordsHTML); $("#wordsWrapper").removeClass("hidden"); const wordHeight = $(document.querySelector(".word")).outerHeight(true); From b34ed3f22bbecda9c78938855b0d8af6f3157b12 Mon Sep 17 00:00:00 2001 From: typer Date: Sat, 28 Nov 2020 19:27:43 -0800 Subject: [PATCH 2/3] improved loadWordsHistory() performance by batching appends --- src/js/script.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/js/script.js b/src/js/script.js index 3c9229875..115d1d892 100644 --- a/src/js/script.js +++ b/src/js/script.js @@ -3106,6 +3106,7 @@ function toggleResultWordsDisplay() { async function loadWordsHistory() { $("#resultWordsHistory .words").empty(); + let wordsHTML = ""; for (let i = 0; i < inputHistory.length + 2; i++) { let input = inputHistory[i]; let wordEl = ""; @@ -3216,8 +3217,9 @@ async function loadWordsHistory() { wordEl += ""; } catch (e) {} } - $("#resultWordsHistory .words").append(wordEl); + wordsHTML += wordEl; } + $("#resultWordsHistory .words").html(wordsHTML); $("#showWordHistoryButton").addClass("loaded"); return true; } From 24828801da3bbb04288dd692492883ba788164aa Mon Sep 17 00:00:00 2001 From: typer Date: Sat, 28 Nov 2020 19:27:54 -0800 Subject: [PATCH 3/3] improved single list command line performance by batching appends --- src/js/commandline.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/js/commandline.js b/src/js/commandline.js index d887336d0..21c031bc7 100644 --- a/src/js/commandline.js +++ b/src/js/commandline.js @@ -2023,14 +2023,15 @@ function updateSuggestedCommands() { function displayFoundCommands() { $("#commandLine .suggestions").empty(); + let commandsHTML = ""; let list = currentCommands[currentCommands.length - 1]; $.each(list.list, (index, obj) => { if (obj.found && (obj.available !== undefined ? obj.available() : true)) { - $("#commandLine .suggestions").append( - '
' + obj.display + "
" - ); + commandsHTML += + '
' + obj.display + "
"; } }); + $("#commandLine .suggestions").html(commandsHTML); if ($("#commandLine .suggestions .entry").length == 0) { $("#commandLine .separator").css({ height: 0, margin: 0 }); } else {