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)