./... schlägt bei Single-Package-Modulen ohne Unterverzeichnisse fehl. Mutex-Hinweis verhindert Deadlock durch rekursive Lock-Acquisition. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
49 lines
1.1 KiB
Markdown
49 lines
1.1 KiB
Markdown
# Go Fibonacci
|
|
|
|
Naive rekursive Fibonacci-Implementierung — korrekt, aber exponentiell langsam.
|
|
`fib(45)` dauert mehrere Sekunden; `fib(50)` läuft praktisch nicht durch.
|
|
|
|
## Aktueller Stand
|
|
|
|
```
|
|
main.go fib(n) — rekursiv, O(2^n)
|
|
main_test.go TestFib mit 5 Tabellen-Tests (alle grün)
|
|
```
|
|
|
|
## Demo 1: `/optimize --interactive`
|
|
|
|
```
|
|
/optimize "Ersetze die naive Rekursion durch einfache Memoization mit einer map[int]int.
|
|
Kein Mutex, kein Goroutine-Overhead — Single-Threaded reicht.
|
|
fib(50) soll in unter 1ms abgeschlossen sein.
|
|
Bestehende Tests müssen weiterhin grün bleiben." \
|
|
--test-cmd "go test ." --interactive
|
|
```
|
|
|
|
Nach dem ersten PASS hält pi-coder im **interaktiven Checkpoint** an.
|
|
Hier kann ein Zusatzauftrag erteilt werden:
|
|
|
|
```
|
|
/continue "Gib zusätzlich die Berechnungszeit in Mikrosekunden aus."
|
|
```
|
|
|
|
Oder einfach bestätigen:
|
|
|
|
```
|
|
/continue
|
|
```
|
|
|
|
## Demo 2: Abschluss mit `/shipit`
|
|
|
|
```
|
|
/shipit
|
|
```
|
|
|
|
Der Judge prüft nochmals explizit auf Produktionsreife und gibt SHIP oder NO-SHIP zurück.
|
|
|
|
## Manueller Test
|
|
|
|
```bash
|
|
go test .
|
|
go run main.go
|
|
```
|