You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When converting between slices of bytes and uint64, we can use
unsafe casting on x86-64 architecture because the byte alignment
is guaranteed. However, on ARM architecture there is a possibility
this will cause issues. Testing on an ARM VM didn't cause problems
but it is best to provide an option without unsafe casting. This
commit adds build directives where necessary to support the two
versions. Where needed, the shared functionality remains in the
original filename (bit.go). Functions which rely on unsafe casting
are in a file appended with `_amd64.go` (`bits_amdt64.go`).
Support without unsafe casting is in a file appended with `_gen.go`
(`bits_gen.go`). The version without unsafe casting is not as
performant.
Use `-tags=generic` if running on AMD64 and you want to test the
performance of the functions that do not rely on unsafe casting.
An open-source set intersection protocols library written in golang. Currently only compatible with **x86-64**.
6
+
An open-source set intersection protocols library written in golang.
7
7
8
8
The goal of the match library is to provide production level implementations of various set intersection protocols. Protocols will typically tradeoff security for performance. For example, a private set intersection (PSI) protocol provides cryptographic guarantees to participants concerning their private and non-intersecting data records, and is suitable for scenarios where participants trust each other to be honest in adhering to the protocol, but still want to protect their private data while performing the intersection operation.
Copy file name to clipboardExpand all lines: benchmark/README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Benchmarks
2
2
3
-
The following scatter plot shows the results of benchmarking match attempts using different PSI algorithms on Google Cloud n2-standard-64 [general-purpose virtual machines (VMs)](https://cloud.google.com/compute/docs/general-purpose-machines#n2_machines). For each benchmark, the sender and the receiver use the same type of VM. The plot shows runtime for various PSI algorithms when the sender and receiver have an equal number of records. The BPSI used for these experiments has a false positive rate fixed at 1e-6. All the match attempts performed have an intersection size of 50m (million). [Detailed benchmarks of the KKRT protocol can be found here](KKRT.md).
3
+
The following scatter plot shows the results of benchmarking match attempts using different PSI algorithms on Google Cloud n2-standard-64 [general-purpose virtual machines (VMs)](https://cloud.google.com/compute/docs/general-purpose-machines#n2_machines) (x84-64 architecture). For each benchmark, the sender and the receiver use the same type of VM. The plot shows runtime for various PSI algorithms when the sender and receiver have an equal number of records. The BPSI used for these experiments has a false positive rate fixed at 1e-6. All the match attempts performed have an intersection size of 50m (million). [Detailed benchmarks of the KKRT protocol can be found here](KKRT.md).
0 commit comments