:= tarantool.Opts{User: "api", Pass: "12345"}
conn, _ := tarantool.Connect("127.0.0.1:3301", opts)
tb.ReportAllocs()
tb.ResetTimer()
for n := 0; n < tb.N; n++ {
conn.Select("accounts", 0, 0, 1, 0, []interface{}{1})
}
}
обычный синтетический тест на маке, в базе всего 1 запись, обычный селект выдает всего 10к
BenchmarkSelect-8 10000 115493 ns/op 793 B/op 20 allocs/op
это вообще кошерно?
Так тут последовательное чтение, кто ж так тестирует, ну если только цель была не в этом
Этот тест не показывает ничего кроме того что тарантул на локалхосте находится (rtt к нулю стремится)
В цикле в одном потоке больше 40к вы в принципе не получите из-за расходов на сетевое взаимодействие. Почему 10к, не знаю, у меня нет мака, чтоб проверить. Проверю на линуксе. Запустите тот же тест в параллели (b.Parrallel), и скажите, что получите.
BenchmarkSelectParallel-8 57548 19763 ns/op лучше да
Не смотри на цифру слева, это не рпс, и в первом тесте было не 10к рпс. Написано 0,019 мс на операцию
Обсуждают сегодня