Skip to content

Instantly share code, notes, and snippets.

@mniewrzal
Last active September 6, 2022 14:57
Show Gist options
  • Save mniewrzal/d50ccd10873b458de098d7d89ec38eca to your computer and use it in GitHub Desktop.
Save mniewrzal/d50ccd10873b458de098d7d89ec38eca to your computer and use it in GitHub Desktop.
func TestAbc(t *testing.T) {
filter := gcbf.NewOptimalMaxSize(800000, 0.1, 2*memory.MiB)
for i := 0; i < 800000; i++ {
filter.Add(testrand.PieceID())
}
buffer := bytes.NewBuffer([]byte{})
writer := zip.NewWriter(buffer)
entryWriter, err := writer.Create("test")
require.NoError(t, err)
_, err = entryWriter.Write(filter.Bytes())
require.NoError(t, err)
require.NoError(t, writer.Close())
fmt.Println("Original", memory.Size(filter.Size())) // Original 467.1 KiB
fmt.Println("Zipped", memory.Size(buffer.Len())) // Zipped 223.6 KiB
retainInfo := &internalpb.RetainInfo{
Filter: filter.Bytes(),
}
pbBytes, err := pb.Marshal(retainInfo)
require.NoError(t, err)
buffer = bytes.NewBuffer([]byte{})
writer = zip.NewWriter(buffer)
entryWriter, err = writer.Create("test")
require.NoError(t, err)
_, err = entryWriter.Write(pbBytes)
require.NoError(t, err)
require.NoError(t, writer.Close())
fmt.Println("Zipped+proto", memory.Size(buffer.Len())) // Zipped+proto 223.7 KiB
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment