good morning!!!!

Skip to content
Snippets Groups Projects
Commit 5a7eae70 authored by Jeffrey Wilcke's avatar Jeffrey Wilcke
Browse files

Removed slice appending for integers

parent d6460f3d
Branches
Tags
No related merge requests found
...@@ -45,7 +45,7 @@ func Decode(data []byte, pos int) (interface{}, int) { ...@@ -45,7 +45,7 @@ func Decode(data []byte, pos int) (interface{}, int) {
slice := make([]interface{}, 0) slice := make([]interface{}, 0)
switch { switch {
case char < 24: case char < 24:
return append(slice, data[pos]), pos + 1 return data[pos], pos + 1
case char < 56: case char < 56:
b := int(data[pos]) - 23 b := int(data[pos]) - 23
return FromBin(data[pos+1 : pos+1+b]), pos + 1 + b return FromBin(data[pos+1 : pos+1+b]), pos + 1 + b
...@@ -72,7 +72,7 @@ func Decode(data []byte, pos int) (interface{}, int) { ...@@ -72,7 +72,7 @@ func Decode(data []byte, pos int) (interface{}, int) {
return slice, pos return slice, pos
case char < 192: case char < 192:
b := int(data[pos]) - 183 b := int(data[pos]) - 183
//b2 := int(FromBin(data[pos+1 : pos+1+b])) (ref imprementation has an unused variable) //b2 := int(FromBin(data[pos+1 : pos+1+b])) (ref implementation has an unused variable)
pos = pos+1+b pos = pos+1+b
for i := 0; i < b; i++ { for i := 0; i < b; i++ {
var obj interface{} var obj interface{}
......
...@@ -15,7 +15,6 @@ func TestEncode(t *testing.T) { ...@@ -15,7 +15,6 @@ func TestEncode(t *testing.T) {
dec,_ := Decode(bytes, 0) dec,_ := Decode(bytes, 0)
fmt.Printf("raw: %v encoded: %q == %v\n", dec, str, "dog") fmt.Printf("raw: %v encoded: %q == %v\n", dec, str, "dog")
sliceRes := "\x83CdogCgodCcat" sliceRes := "\x83CdogCgodCcat"
strs := []string{"dog", "god", "cat"} strs := []string{"dog", "god", "cat"}
bytes = Encode(strs) bytes = Encode(strs)
...@@ -27,3 +26,10 @@ func TestEncode(t *testing.T) { ...@@ -27,3 +26,10 @@ func TestEncode(t *testing.T) {
dec,_ = Decode(bytes, 0) dec,_ = Decode(bytes, 0)
fmt.Printf("raw: %v encoded: %q == %v\n", dec, slice, strs) fmt.Printf("raw: %v encoded: %q == %v\n", dec, slice, strs)
} }
func BenchmarkEncodeDecode(b *testing.B) {
for i := 0; i < b.N; i++ {
bytes := Encode([]string{"dog", "god", "cat"})
Decode(bytes, 0)
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment