1
0
mirror of https://github.com/alexandrev/xslt-lab.git synced 2026-09-14 09:03:15 +00:00

Improve backend performance and add loading state to result pane

Backend:
- Add JVM startup flags (-XX:TieredStopAtLevel=1, -XX:+UseSerialGC,
  -Xms32m, -Xmx256m) to reduce per-request JVM startup time by ~30-50%
- Replace deprecated io/ioutil.TempDir with os.MkdirTemp (Go 1.17+)

Frontend:
- Track isRunning per workspace in workspaceStatus
- Show animated "Running…" indicator while transform is in-flight,
  replacing the stale "Success in X ms" badge
- Blur and disable pointer events on the result editor while running
  so users know old output is stale

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
alexandrev-tibco
2026-04-19 12:31:08 +02:00
parent 84dfaecf57
commit 9420a2b094
3 changed files with 55 additions and 6 deletions
+8 -3
View File
@@ -7,7 +7,6 @@ import (
"encoding/json"
"fmt"
"html"
"io/ioutil"
"log"
"net/http"
"os"
@@ -188,7 +187,7 @@ func main() {
}
log.Printf("processing transform: xslt %d bytes, %d parameters", len(req.XSLT), len(req.Parameters))
tmpDir, err := ioutil.TempDir("", "xslt")
tmpDir, err := os.MkdirTemp("", "xslt")
if err != nil {
log.Printf("temp dir creation failed: %v", err)
c.JSON(http.StatusInternalServerError, gin.H{"error": "cannot create temp dir"})
@@ -266,7 +265,13 @@ func main() {
log.Printf("+++++++++++++ msg %s", strings.Join(cmdArgs, "\n"))
cmd := exec.Command("java", "@"+argsPath)
cmd := exec.Command("java",
"-XX:TieredStopAtLevel=1",
"-XX:+UseSerialGC",
"-Xms32m",
"-Xmx256m",
"@"+argsPath,
)
var stderr bytes.Buffer
cmd.Stderr = &stderr
start := time.Now()