- stress.tf: 10 новых sless_service (Go: fast/nil/pgstorm, Node: async/badenv, Python: slow/bigloop/divzero/writer/pg-stats) - full_test.sh: 4 фазы — CRUD / функциональные / PG-стресс / краш-шторм (48 тестов) - stress-go-fast/handler.go: удалён дублирующий заголовок package (баг сборки) Результат: 48/48 PASS - 40× parallel writer 40/40 OK (ThreadingHTTPServer + backlog=128) - 75× краш-шторм → 75× HTTP 500 (паники не роняют платформу)
43 lines
837 B
Go
43 lines
837 B
Go
// 2026-03-19
|
|
// handler.go — быстрая Go функция: факториал + числа Фибоначчи.
|
|
// Проверяет Go runtime под лёгкой нагрузкой и корректность JSON-ответа.
|
|
// Entrypoint: handler.Handle
|
|
package handler
|
|
|
|
import "fmt"
|
|
|
|
func factorial(n int) uint64 {
|
|
if n <= 1 {
|
|
return 1
|
|
}
|
|
return uint64(n) * factorial(n-1)
|
|
}
|
|
|
|
func fib(n int) int {
|
|
if n <= 1 {
|
|
return n
|
|
}
|
|
a, b := 0, 1
|
|
for i := 2; i <= n; i++ {
|
|
a, b = b, a+b
|
|
}
|
|
return b
|
|
}
|
|
|
|
func Handle(event map[string]interface{}) interface{} {
|
|
n := 10
|
|
if v, ok := event["n"].(float64); ok {
|
|
n = int(v)
|
|
if n > 20 {
|
|
n = 20
|
|
}
|
|
}
|
|
return map[string]interface{}{
|
|
"runtime": "go1.23",
|
|
"version": "v1",
|
|
"n": n,
|
|
"factorial": fmt.Sprintf("%d", factorial(n)),
|
|
"fib": fib(n),
|
|
}
|
|
}
|