Created
July 6, 2020 10:01
-
-
Save dtynn/77d0c0198a524e6a45d16233a791a4f7 to your computer and use it in GitHub Desktop.
rle size
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package main | |
import ( | |
"bytes" | |
"log" | |
"github.com/filecoin-project/go-bitfield" | |
) | |
func main() { | |
bf1 := bitfield.New() | |
for i := 0; i < 24000; i++ { | |
bf1.Set(uint64(i * 2)) | |
} | |
var buf1 bytes.Buffer | |
if err := bf1.MarshalCBOR(&buf1); err != nil { | |
log.Fatalln("marshal cbor for bitfield 1:", err) | |
} | |
log.Println("buf1 len:", len(buf1.Bytes())) | |
bf2 := bitfield.New() | |
for i := 0; i < 24000; i++ { | |
bf2.Set(uint64(100000 + 2*i)) | |
} | |
var buf2 bytes.Buffer | |
if err := bf2.MarshalCBOR(&buf2); err != nil { | |
log.Fatalln("marshal cbor for bitfield 2:", err) | |
} | |
log.Println("buf2 len:", len(buf2.Bytes())) | |
merged, err := bitfield.MergeBitFields(&bf1, &bf2) | |
if err != nil { | |
log.Println("merged: ", err) | |
} | |
var bufm bytes.Buffer | |
if err := merged.MarshalCBOR(&bufm); err != nil { | |
log.Fatalln("marshal cbor for merged:", err) | |
} | |
log.Println("merged len:", len(bufm.Bytes())) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment