mirror of
https://github.com/shadow1ng/fscan.git
synced 2025-09-14 14:06:44 +08:00

根据静态分析结果清理未使用的函数: 删除文件: - Common/utils/mappool.go (整个Map对象池模块未被使用) 精简文件: - Common/utils/slicepool.go: 移除未使用的池管理函数,保留核心去重功能 - Common/utils/stringbuilder.go: 移除未使用的格式化和统计函数 - Common/utils/benchmark_test.go: 更新测试以适应清理后的API 保留的核心功能: ✓ JoinStrings/JoinInts - 字符串连接优化 (18x性能提升) ✓ DeduplicateStrings - 字符串去重功能 ✓ StringBuilderPool - 字符串构建器池化机制 清理效果: - 减少约150行无用代码 - 简化API设计,提高可维护性 - 保持所有实际使用的优化功能完整性 - 编译测试和功能测试全部通过 经验证,核心的内存优化功能(字符串连接18x性能提升,99.8%内存减少)完全保留。
27 lines
453 B
Go
27 lines
453 B
Go
package utils
|
|
|
|
|
|
|
|
// DeduplicateStrings 高效字符串去重 - 简化版本
|
|
func DeduplicateStrings(slice []string) []string {
|
|
if len(slice) <= 1 {
|
|
return slice
|
|
}
|
|
|
|
// 使用最简单高效的实现
|
|
seen := make(map[string]struct{}, len(slice))
|
|
result := make([]string, 0, len(slice))
|
|
|
|
for _, item := range slice {
|
|
if _, exists := seen[item]; !exists {
|
|
seen[item] = struct{}{}
|
|
result = append(result, item)
|
|
}
|
|
}
|
|
|
|
return result
|
|
}
|
|
|
|
|
|
|