package main import ( "fmt" "time" "zsvo/pkg/debian" ) func main() { fmt.Println("🚀 Testing Dependency Resolution Performance") fmt.Println("==========================================") // Создаем резолвер resolver := debian.NewResolver() // Тестируем несколько пакетов testPackages := []string{"cmake", "pkg-config", "libdrm-dev"} fmt.Printf("\n📊 Testing %d packages...\n", len(testPackages)) totalStart := time.Now() for i, pkg := range testPackages { fmt.Printf("\n%d. Looking up %s...\n", i+1, pkg) start := time.Now() info, err := resolver.ResolveSource(pkg) duration := time.Since(start) if err != nil { fmt.Printf("❌ Error: %v\n", err) } else { fmt.Printf("✅ Found: %s (version: %s)\n", info.SourcePackage, info.DebianVersion) fmt.Printf("⏱️ Lookup time: %v\n", duration) } } totalDuration := time.Since(totalStart) fmt.Printf("\n🎯 Total time for %d lookups: %v\n", len(testPackages), totalDuration) fmt.Printf("📈 Average time per lookup: %v\n", totalDuration/time.Duration(len(testPackages))) // Тестируем повторный lookup того же пакета fmt.Printf("\n🔄 Testing repeated lookup...\n") start := time.Now() _, err := resolver.ResolveSource("cmake") duration := time.Since(start) if err != nil { fmt.Printf("❌ Error: %v\n", err) } else { fmt.Printf("✅ Repeated lookup time: %v\n", duration) } fmt.Printf("\n🎯 Performance Target: <1ms per lookup\n") if duration < time.Millisecond { fmt.Printf("✅ TARGET ACHIEVED! (%v)\n", duration) } else { fmt.Printf("❌ Target not achieved (%v)\n", duration) } }