Skip to content

Commit 2c210a9

Browse files
committed
feat(doc): add benchmark in README.md
1 parent b0d4f1b commit 2c210a9

File tree

1 file changed

+162
-0
lines changed

1 file changed

+162
-0
lines changed

README.md

Lines changed: 162 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,168 @@ By using GraphAr, you can:
5151
- Utilize Apache Spark to quickly manipulate and transform your graphar
5252
format data
5353

54+
## Benchmark
55+
Our experiments are conducted on an Alibaba Cloud r6.6xlarge instance, equipped with a
56+
24-core Intel(R) Xeon(R) Platinum 8269CY CPU at 2.50GHz and
57+
192GB RAM, running 64-bit Ubuntu 20.04 LTS. The data is hosted
58+
on a 200GB PL0 ESSD with a peak I/O throughput of 180MB/s.
59+
Additional tests on other platforms and S3-like storage yield similar
60+
results.
61+
We mainly conduct experiments from three aspects: Storage consumption, I/O speed and Query efficiency.
62+
63+
64+
<table>
65+
<thead>
66+
<tr>
67+
<th>Abbr.</th>
68+
<th>Graph</th>
69+
<th>|V|</th>
70+
<th>|E|</th>
71+
</tr>
72+
</thead>
73+
<tbody>
74+
<tr>
75+
<td>A5</td>
76+
<td>Alibaba synthetic (scale 5)</td>
77+
<td>75.0M</td>
78+
<td>4.93B</td>
79+
</tr>
80+
<tr>
81+
<td>A7</td>
82+
<td>Alibaba synthetic (scale 7)</td>
83+
<td>100M</td>
84+
<td>6.69B</td>
85+
</tr>
86+
<tr>
87+
<td>SF30</td>
88+
<td><a href="https://dl.acm.org/doi/10.1145/2723372.2742786" target="_blank">SNB Interactive SF-30</a></td>
89+
<td>99.4M</td>
90+
<td>655M</td>
91+
</tr>
92+
<tr>
93+
<td>SF100</td>
94+
<td><a href="https://dl.acm.org/doi/10.1145/2723372.2742786" target="_blank">SNB Interactive SF-100</a></td>
95+
<td>318M</td>
96+
<td>2.15B</td>
97+
</tr>
98+
<tr>
99+
<td>SF300</td>
100+
<td><a href="https://dl.acm.org/doi/10.1145/2723372.2742786" target="_blank">SNB Interactive SF-300</a></td>
101+
<td>908M</td>
102+
<td>6.29B</td>
103+
</tr>
104+
</tbody>
105+
</table>
106+
All datasets have more than tens of millions of vertices and hundreds of millions of edges.
107+
108+
109+
### Storage consumption
110+
111+
### I/O speed
112+
113+
### Query efficiency
114+
<table>
115+
<caption>Query Execution Times (in seconds)</caption>
116+
<thead>
117+
<tr>
118+
<th>Query</th>
119+
<th>SF30</th>
120+
<th></th>
121+
<th></th>
122+
<th></th>
123+
<th>SF100</th>
124+
<th></th>
125+
<th></th>
126+
<th></th>
127+
<th>SF300</th>
128+
<th></th>
129+
<th></th>
130+
<th></th>
131+
</tr>
132+
<tr>
133+
<th></th>
134+
<th>P</th>
135+
<th>N</th>
136+
<th>A</th>
137+
<th>G</th>
138+
<th>P</th>
139+
<th>N</th>
140+
<th>A</th>
141+
<th>G</th>
142+
<th>P</th>
143+
<th>N</th>
144+
<th>A</th>
145+
<th>G</th>
146+
</tr>
147+
</thead>
148+
<tbody>
149+
<tr>
150+
<td>ETL</td>
151+
<td>6024</td>
152+
<td>390</td>
153+
<td>—</td>
154+
<td>—</td>
155+
<td>17726</td>
156+
<td>2094</td>
157+
<td>—</td>
158+
<td>—</td>
159+
<td>OM</td>
160+
<td>9122</td>
161+
<td>—</td>
162+
<td>—</td>
163+
</tr>
164+
<tr>
165+
<td>IS-3</td>
166+
<td>1.00</td>
167+
<td>0.30</td>
168+
<td>0.16</td>
169+
<td><strong>0.01</strong></td>
170+
<td>6.59</td>
171+
<td>2.09</td>
172+
<td>0.48</td>
173+
<td><strong>0.01</strong></td>
174+
<td>OM</td>
175+
<td>4.12</td>
176+
<td>1.39</td>
177+
<td><strong>0.03</strong></td>
178+
</tr>
179+
<tr>
180+
<td>IC-8</td>
181+
<td>1.35</td>
182+
<td><strong>0.37</strong></td>
183+
<td>72.2</td>
184+
<td>3.36</td>
185+
<td>8.43</td>
186+
<td><strong>1.26</strong></td>
187+
<td>246</td>
188+
<td>6.56</td>
189+
<td>OM</td>
190+
<td><strong>2.98</strong></td>
191+
<td>894</td>
192+
<td>23.3</td>
193+
</tr>
194+
<tr>
195+
<td>BI-2</td>
196+
<td>125</td>
197+
<td>45.0</td>
198+
<td>67.7</td>
199+
<td><strong>4.30</strong></td>
200+
<td>3884</td>
201+
<td>1101</td>
202+
<td>232</td>
203+
<td><strong>16.3</strong></td>
204+
<td>OM</td>
205+
<td>6636</td>
206+
<td>756</td>
207+
<td><strong>50.0</strong></td>
208+
</tr>
209+
</tbody>
210+
</table>
211+
<p><strong>Notes: <a href="https://github.com/apache/pinot" target="_blank">Pinot (P)</a>, <a href="https://github.com/neo4j/neo4j" target="_blank">Neo4j (N)</a>, <a href="https://arrow.apache.org/docs/cpp/streaming_execution.html" target="_blank">Acero (A)</a>, and GraphAr (G).
212+
“OM” denotes failed execution due to out-of-memory errors.</strong></p>
213+
214+
215+
54216
## The GraphAr Format
55217

56218
The GraphAr format is designed for storing property graphs. It uses

0 commit comments

Comments
 (0)