Commit Graph

2 Commits

Author SHA1 Message Date
RainySY
b5a91cb115 perf: optimize hot path & reorganize project config
Backend (app.go):
- AICache: replace linear scan with map-based O(1) lookup (get/getRow/put/putRow)
- runMatchOnData: pre-compute B-column cleaned values, parsed times, extract values
  to eliminate O(n*m) regex/time-parse from inner loop
- calcSimilarity: eliminate double rune conversion (levenshteinDistance now takes []rune)
- Add similarityFromCleaned to skip redundant regex step in hot path
- Fix corrupted bare 'n' literal causing build failure
- Move saveToFile out of inner match loop (was called per item)
- dataMu: Mutex -> RWMutex (exportHeaders/ExportResults use RLock)
- buildGenericAIPrompt: fix truncation check order (check after write)

Project:
- .gitignore: deduplicate & tighten rules; track package-lock.json and .vscode/*
- Clean up stale root binary (data-matcher.exe)
2026-05-20 14:16:13 +08:00
RainySY
2cef098632 feat: Initialize data-matcher project with Wails framework
- Added frontend runtime JavaScript functions for logging, window management, and notifications.
- Created Go module with dependencies for Wails and Excel processing.
- Implemented main application entry point with embedded frontend assets.
- Configured Wails application settings in wails.json.

Co-authored-by: Copilot <copilot@github.com>
2026-05-07 01:11:05 +08:00