package asm_test import ( "testing" "git.urbach.dev/cli/q/src/asm" ) func BenchmarkMerge(b *testing.B) { n := 100 all := make([]*asm.Assembler, 0, n) for range n { f := &asm.Assembler{} f.Number(asm.PUSH, 1) f.Number(asm.PUSH, 2) f.Number(asm.PUSH, 3) all = append(all, f) } for b.Loop() { final := asm.Assembler{} for _, f := range all { final.Merge(f) } } } func BenchmarkNumber(b *testing.B) { a := asm.Assembler{} for b.Loop() { a.Number(asm.PUSH, 42) } }