Skip to content

Instantly share code, notes, and snippets.

@kolyshkin
Created August 13, 2021 00:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kolyshkin/20e8f43fedde4989033941be8bef9fc6 to your computer and use it in GitHub Desktop.
Save kolyshkin/20e8f43fedde4989033941be8bef9fc6 to your computer and use it in GitHub Desktop.
func BenchmarkApplyDestroy(b *testing.B) {
requireV1(b)
cg := &configs.Cgroup{
Name: "system-runc_test_freeze_1.slice",
Parent: "system.slice",
Resources: &configs.Resources{
SkipDevices: true,
},
}
for i := 0; i < b.N; i++ {
m := NewLegacyManager(cg, nil)
if err := m.Apply(-1); err != nil {
b.Fatal(err)
}
defer m.Destroy() //nolint:errcheck
}
}
func BenchmarkSet(b *testing.B) {
requireV1(b)
cg := &configs.Cgroup{
Name: "system-runc_test_freeze_1.slice",
Parent: "system.slice",
Resources: &configs.Resources{
SkipDevices: true,
},
}
m := NewLegacyManager(cg, nil)
if err := m.Apply(-1); err != nil {
b.Fatal(err)
}
defer m.Destroy() //nolint:errcheck
for i := 0; i < b.N; i++ {
if err := m.Set(cg.Resources); err != nil {
b.Fatal(err)
}
}
}
func BenchmarkFreezeBeforeSet(b *testing.B) {
requireV1(b)
cg := &configs.Cgroup{
Name: "system-runc_test_freeze_1.slice",
Parent: "system.slice",
Resources: &configs.Resources{
SkipDevices: true,
},
}
m := NewLegacyManager(cg, nil)
if err := m.Apply(-1); err != nil {
b.Fatal(err)
}
defer m.Destroy() //nolint:errcheck
lm := m.(*legacyManager)
unitName := getUnitName(cg)
b.ResetTimer()
for i := 0; i < b.N; i++ {
freeze, thaw, err := lm.freezeBeforeSet(unitName, cg.Resources)
// freeze, thaw, err := lm.freezeBeforeSet2(cg.Resources)
if err != nil {
b.Fatal(err)
}
if freeze != false && thaw != false {
// b.Fatal("unexpected freeze/thaw")
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment