37 lines
500 B
Go
37 lines
500 B
Go
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)
|
|
}
|
|
}
|