Skip to content

Commit 063e84c

Browse files
committed
added query time comparison: Intel x86 vs. Apple-M1 arm
1 parent a8ae919 commit 063e84c

6 files changed

Lines changed: 13 additions & 7 deletions

File tree

benchmarks/README.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,15 @@ Timings plotted for `P` are for $\alpha=0.94$.
5353
##### Optimal bucketer
5454
![](results-07-09-25/results.2025-09-07T17-31-42.n=100000000.query_time.opt.a0.94.png)
5555

56-
- Optimal bucketing does not generally introduce any penalty at query time compared to skew bucketing.
56+
- Optimal bucketing does not generally introduce any serious penalty at query time compared to skew bucketing.
57+
58+
It is also interesting to note the query times are **much faster** on my Apple M1 ARM processor compared to the Intel x86 processor used in these benchmarks. The plots below show the comparison for $\alpha=0.94$ and skew bucketing, for the "fast" encoders only.
59+
60+
##### Intel x86 processor
61+
![](results-07-09-25/query_time.skew.a0.94.linux.x86.png)
62+
63+
##### Apple M1 ARM processor
64+
![](results-07-09-25/query_time.skew.a0.94.mac.arm.png)
5765

5866
### 4. Overall trade-off and recommendation
5967

602 KB
Loading
592 KB
Loading

script/plot_all.sh

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11

22
# $1 <-- .json filename without the .json extension
33

4-
python3 plot_avg_building_time.py -i $1.json -o $1.build_time.skew.pdf -b skew
5-
python3 plot_avg_building_time.py -i $1.json -o $1.build_time.opt.pdf -b opt
4+
python3 plot_building_time.py -i $1.json -o $1.build_time.skew.pdf -b skew
5+
python3 plot_building_time.py -i $1.json -o $1.build_time.opt.pdf -b opt
66

7-
python3 plot_avg_query_time.py -i $1.json -o $1.query_time.skew.a0.94.pdf -b skew -a 0.94
8-
python3 plot_avg_query_time.py -i $1.json -o $1.query_time.opt.a0.94.pdf -b opt -a 0.94
7+
python3 plot_query_time.py -i $1.json -o $1.query_time.skew.a0.94.pdf -b skew -a 0.94
8+
python3 plot_query_time.py -i $1.json -o $1.query_time.opt.a0.94.pdf -b opt -a 0.94
99

1010
python3 plot_space.py -i $1.json -o $1.space.opt.a0.94.pdf -b opt -a 0.94
1111
python3 plot_space.py -i $1.json -o $1.space.skew.a0.94.pdf -b skew -a 0.94
Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,6 @@ def main(json_file, pdf_filename, bucketer):
108108
ax.set_ylabel(r'Building time (seconds)', fontsize=14)
109109
ax.set_title(title, fontsize=16) # Title for the current configuration
110110
ax.set_ylim(min_y, max_y) # Set Y-axis limits
111-
112111
# Set the Y-axis ticks to 10 evenly spaced ticks, including min and max
113112
ticks = np.linspace(min_y, max_y, 20) # Create 10 evenly spaced ticks
114113
ax.set_yticks(ticks) # Set updated ticks
Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,6 @@ def main(json_file, pdf_filename, alpha, bucketer):
114114
ax.set_ylabel('Query time (avg. ns per query)', fontsize=14)
115115
ax.set_title(title, fontsize=16)
116116
ax.set_ylim(min_y, max_y)
117-
118117
ticks = np.linspace(min_y, max_y, 20)
119118
ax.set_yticks(ticks)
120119
ax.yaxis.set_major_formatter(FuncFormatter(format_ticks))

0 commit comments

Comments
 (0)