rabbit-slide-kou-scipy-japan-2019 2019.4.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: a166529124b217ade85d51819b8afe822bebfd541211577f11be6d4df56cc0e5
4
+ data.tar.gz: d7464a7435c8c89b46b6f2dcc8ae8b49d8d8009633c0ec7f4f37ab5967ebe8f6
5
+ SHA512:
6
+ metadata.gz: f5b69f9dc120e6b1b9cd78554b76581d6fb715fb46005e247f3a30dc98f09665870cc7e4f6dbb6c3690d7d5c4c0a5ed48b620e1677d0ce071a47779a2fae6784
7
+ data.tar.gz: b32d34aca3f972913ae60f0c8af78b07165a39ca0cbd1cecebd0daaf1a5186820f0722ab5f1b824b96f25e037a41684501bfc6dbffd8c17c32e69e564f317c21
data/.rabbit ADDED
@@ -0,0 +1 @@
1
+ --size=800,450 apache-arrow.rab
data/README.rd ADDED
@@ -0,0 +1,51 @@
1
+ = Apache Arrow - A cross-language development platform for in-memory data
2
+
3
+ Apache Arrow is the future for data processing systems. This talk
4
+ describes how to solve data sharing overhead in data processing system
5
+ such as Spark and PySpark. This talk also describes how to accelerate
6
+ computation against your large data by Apache Arrow.
7
+
8
+ == License
9
+
10
+ === Slide
11
+
12
+ CC BY-SA 4.0
13
+
14
+ Use the followings for notation of the author:
15
+
16
+ * Kouhei Sutou
17
+
18
+ ==== ClearCode Inc. logo
19
+
20
+ CC BY-SA 4.0
21
+
22
+ Author: ClearCode Inc.
23
+
24
+ It is used in page header and some pages in the slide.
25
+
26
+ ==== Performance figure
27
+
28
+ Apache License 2.0
29
+
30
+ Author: The Apache Software Foundation
31
+
32
+ == For author
33
+
34
+ === Show
35
+
36
+ rake
37
+
38
+ === Publish
39
+
40
+ rake publish
41
+
42
+ == For viewers
43
+
44
+ === Install
45
+
46
+ gem install rabbit-slide-kou-scipy-japan-2019
47
+
48
+ === Show
49
+
50
+ rabbit rabbit-slide-kou-scipy-japan-2019.gem
51
+
data/Rakefile ADDED
@@ -0,0 +1,17 @@
1
+ require "rabbit/task/slide"
2
+
3
+ # Edit ./config.yaml to customize meta data
4
+
5
+ spec = nil
6
+ Rabbit::Task::Slide.new do |task|
7
+ spec = task.spec
8
+ # spec.files += Dir.glob("doc/**/*.*")
9
+ # spec.files -= Dir.glob("private/**/*.*")
10
+ spec.add_runtime_dependency("rabbit-theme-clear-code")
11
+ end
12
+
13
+ desc "Tag #{spec.version}"
14
+ task :tag do
15
+ sh("git", "tag", "-a", spec.version.to_s, "-m", "Publish #{spec.version}")
16
+ sh("git", "push", "--tags")
17
+ end
data/apache-arrow.rab ADDED
@@ -0,0 +1,461 @@
1
+ = Apache Arrow
2
+
3
+ : subtitle
4
+ A cross-language development platform\nfor in-memory data
5
+ : author
6
+ Kouhei Sutou
7
+ : institution
8
+ ClearCode Inc.
9
+ : content-source
10
+ SciPy Japan 2019
11
+ : date
12
+ 2019-04-23
13
+ : start-time
14
+ 2019-04-23T14:30:00+09:00
15
+ : end-time
16
+ 2019-04-23T14:55:00+09:00
17
+ : theme
18
+ .
19
+
20
+ = Me
21
+
22
+ Ruby committer since 2004\n
23
+ (('note:2004年からRubyコミッター'))
24
+
25
+ = Why do I talk at SciPy?\n(('note:なぜSciPyで話しているのか?'))
26
+
27
+ To introduce\n
28
+ ((*Apache Arrow*))\n
29
+ (('note:((*Apache Arrow*))を紹介するため'))
30
+
31
+ = Apache Arrow
32
+
33
+ # blockquote
34
+ # title = https://arrow.apache.org/
35
+
36
+ A cross-language development platform for in-memory data\n
37
+ (('note:インメモリーデータ向け多言語対応開発プラットフォーム'))
38
+
39
+ = Cross-language\n(('note:多言語対応'))
40
+
41
+ * C, C++, C#, Go, Java,
42
+ * JavaScript, MATLAB, ((*Python*)),
43
+ * R, ((*Ruby*)) and Rust
44
+
45
+ = Development platform\n(('note:開発プラットフォーム'))
46
+
47
+ Apache Arrow ...
48
+
49
+ * specifies standards and\n
50
+ (('note:標準化'))
51
+ * provides implementations\n
52
+ (('note:実装'))
53
+
54
+ to advance cooperation by many people\n
55
+ (('note:多くの人が協力できるように'))
56
+
57
+ = For in-memory data\n(('note:インメモリーデータ'))
58
+
59
+ Apache Arrow focuses on ↓ ((*for now*))\n
60
+ (('note:Apache Arrowは((*今のところ*))は↓に注力'))
61
+
62
+ * sharing columnar/tensor data\n
63
+ (('note:カラムナーデータ・テンソルデータの共有'))
64
+ * analyzing columnar data\n
65
+ (('note:カラムナーデータの分析'))
66
+ * RPC for columnar data\n
67
+ (('note:カラムナーデータのRPC'))
68
+
69
+ = Apache Arrow and Python\n(('note:Apache ArrowとPython'))
70
+
71
+ * As pickle replacement\n
72
+ (('note:pickleの代替'))
73
+ * PySpark does\n
74
+ (('note:PySparkはすでにやっている'))
75
+ * As dataframe library\n
76
+ (('note:データフレームライブラリー'))
77
+ * pandas and Vaes use Apache Arrow a bit\n
78
+ (('note:pandasとVaesはApache Arrowを少し使っている'))
79
+
80
+ = Apache Arrow and me\n(('note:Apache Arrowと私'))
81
+
82
+ # image
83
+ # src = images/apache-arrow-and-me.svg
84
+ # align = right
85
+ # vertical-align = bottom
86
+ # relative-width = 65
87
+ # relative-margin-right = 20
88
+ # relative-padding-bottom = -15
89
+
90
+ * A release manager(('note:(リリースマネージャー)'))
91
+ * 0.11.0 and 0.13.0 (('note:(the latest release/最新リリース)'))
92
+ * An active developer(('note:(アクティブな開発者)'))
93
+
94
+ (('tag:margin-top * 10'))
95
+
96
+ = Feature (1)\n(('note:機能(1)'))
97
+
98
+ Effective serialization\n
99
+ (('note:効率的なシリアライズ'))
100
+
101
+ = Why effective?\n(('note:なぜ効率的なのか'))
102
+
103
+ * Don't parse data\n
104
+ (('note:データをパースしないから'))
105
+ * Use data directly\n
106
+ (('note:データをそのまま使うから'))
107
+
108
+ = Data format: Number\n(('note:データフォーマット:数値'))
109
+
110
+ Contiguous data (Same as C array)
111
+ 連続データ(Cの配列と同じ)
112
+
113
+ 32bit integer: [1, 2, 3]
114
+ 0x01 0x00 0x00 0x00 0x02 0x00 0x00 0x00 0x03 ...
115
+
116
+ = Compare to JSON\n(('note:JSONと比較'))
117
+
118
+     "[1, 2, 3]"
119
+
120
+ "1" → 1 (String → Number)
121
+ "2" → 2 (String → Number)
122
+ "3" → 3 (String → Number)
123
+
124
+ = Merit of direct data use\n(('note:データを直接使うことのメリット'))
125
+
126
+ * Zero copy cost\n
127
+ (('note:コピーコストをなくせる'))
128
+ * Copy is costly for large data\n
129
+ (('note:大きなデータではコピーはコストが高い'))
130
+ * (Nearly) zero parse cost\n
131
+ (('note:(ほぼ)パースコストをなくせる'))
132
+ * Only need to parse metadata\n
133
+ (('note:メタデータをパースするだけでよい'))
134
+
135
+ = Performance\n(('note:性能'))
136
+
137
+ # image
138
+ # src = images/serialize-list.png
139
+ # relative_height = 77
140
+
141
+ (('note:((<Fast Python Serialization with Ray and Apache Arrow|URL:https://arrow.apache.org/blog/2017/10/15/fast-python-serialization-with-ray-and-arrow/>))'))
142
+
143
+ (('note:Apache License 2.0: (c) 2016-2019 The Apache Software Foundation'))
144
+
145
+ = Zero copy and large data\n(('note:ゼロコピーと大きなデータ'))
146
+
147
+ * pandas can't process large data\n
148
+ (('note:pandasは大きなデータを扱えない'))
149
+ * Because it needs to allocate memory\n
150
+ (('note:メモリーを確保する必要があるから'))
151
+ * Apache Arrow supports memory mapping\n
152
+ (('note:Apache Arrowはメモリーマッピング対応'))
153
+ * Can use data in file directly without copy\n
154
+ (('note:ファイル内のデータをコピーせずに使える'))
155
+
156
+ = Effective string representation\n(('note:効率的な文字列表現'))
157
+
158
+ * pandas: Array of strings\n
159
+ (('note:pandas:文字列の配列'))
160
+ * Use discontiguous memory\n
161
+ (('note:非連続なメモリーを使う'))
162
+ * Apache Arrow: Data and array of lengths\n
163
+ (('note:Apache Arrow:データと長さの配列'))
164
+ * Use contiguous memory: Fast\n
165
+ (('note:連続したメモリーを使う:速い'))
166
+
167
+ = Data format: String\n(('note:データフォーマット:文字列'))
168
+
169
+ Data bytes + length array
170
+
171
+ UTT-8 string: ["Hello", "", "!"]
172
+ Data bytes: "Hello!"
173
+ Length array: [0, 5, 5, 6]
174
+ i-th length: lengths[i+1] - lengths[i]
175
+ i-th data: data[lengths[i]:lengths[i+1]]
176
+
177
+ = Feature(?) (2)\n(('note:機能(?)(2)'))
178
+
179
+ Specify data format\n
180
+ (('note:データフォーマットを仕様化'))
181
+
182
+ = Why do Arrow specify?\n(('note:なぜArrowは仕様化するのか'))
183
+
184
+ Effective\n
185
+ data exchange\n
186
+ (('note:効率的なデータ交換のため'))
187
+
188
+ = Effective data exchange\n(('note:効率的なデータ交換'))
189
+
190
+ * Use common format widely\n
191
+ (('note:みんなが同じフォーマットを使うこと'))
192
+ * No format conversion reduces resource usage\n
193
+ (('note:フォーマットを変換しなくてよいならリソース使用量を減らせる'))
194
+ * Use low {,de}serialize cost format\n
195
+ (('note:シリアライズコストが低いフォーマットを使うこと'))
196
+ * Fast
197
+
198
+ = Who uses Arrow format?\n(('note:Arrowフォーマットをだれが使っているか'))
199
+
200
+ * ((<RAPIDS|URL:https://rapids.ai/>)): For NVIDIA GPU
201
+ * ((<Fletcher|URL:https://github.com/johanpel/fletcher>)), ((<InAccel|URL:https://docs.inaccel.com/latest/manager/examples/#logistic-regression-with-apache-arrow>)): For FPGA
202
+ * ((<Spark|URL:https://spark.apache.org/>)): For interprocess data exchange\n
203
+ (('note:Spark:プロセス間のデータ交換のために'))
204
+
205
+ = CPU and GPU
206
+
207
+ * Can't share data on memory\n
208
+ (('note:メモリー上のデータを共有できない'))
209
+ * Need to copy between CPU and GPU\n
210
+ (('note:CPUとGPU間でコピーする必要がある'))
211
+ * Effective data exchange improves performance\n
212
+ (('note:データ交換を効率化することで高速化'))
213
+
214
+ = CPU and FPGA
215
+
216
+ * Can't share data on memory\n
217
+ (('note:メモリー上のデータを共有できない'))
218
+ * Need to copy between CPU and FPGA\n
219
+ (('note:CPUとFPGA間でコピーする必要がある'))
220
+ * Effective data exchange improves performance\n
221
+ (('note:データ交換を効率化することで高速化'))
222
+
223
+ = Spark
224
+
225
+ * Process large data\n
226
+ (('note:大きなデータを処理'))
227
+ * Need to pass data to worker processes\n
228
+ (('note:ワーカープロセスにデータを渡す必要がある'))
229
+ * Effective data exchange improves performance\n
230
+ (('note:データ交換を効率化することで高速化'))
231
+
232
+ = PySpark
233
+
234
+ * Worker by Python\n
235
+ (('note:ワーカーはPython'))
236
+ * Use pikcle to exchange data\n
237
+ (('note:データ交換にpickleを使用'))
238
+ * Spark supports Arrow for data exchange\n
239
+ (('note:Arrowを使ったデータ交換をサポート'))
240
+ * Disabled by default\n
241
+ (('note:デフォルトでは無効'))
242
+
243
+ = PySpark with Arrow
244
+
245
+ In [2]: %time pdf = df.toPandas()
246
+ CPU times: user 17.4 s, sys: 792 ms, total: 18.1 s
247
+ Wall time: 20.7 s
248
+
249
+ In [3]: spark.conf.set("spark.sql.execution.arrow.enabled", "true")
250
+
251
+ In [4]: %time pdf = df.toPandas()
252
+ CPU times: user 40 ms, sys: 32 ms, total: 72 ms
253
+ Wall time: 737 ms
254
+
255
+ (('note:((< Speeding up PySpark with Apache Arrow|URL:https://arrow.apache.org/blog/2017/07/26/spark-arrow/>))'))
256
+
257
+ = Feature (3)\n(('note:機能(3)'))
258
+
259
+ Optimized\n
260
+ data processing\n
261
+ modules\n
262
+ (('note:最適化されたデータ処理モジュール'))
263
+
264
+ = Optimized data processing\n(('note:最適化されたデータ処理モジュール'))
265
+
266
+ * Apache Arrow targets large data\n
267
+ (('note:Apache Arrowは大きなデータを対象にしている'))
268
+ * Performance is important\n
269
+ (('note:性能は重要'))
270
+ * How to get high performance...?\n
271
+ (('note:どうすれば速くできる。。。?'))
272
+
273
+ = High performance (1)\n(('note:高速化(1)'))
274
+
275
+ Data locality\n
276
+ (('note:データを局所化'))
277
+
278
+ = Data locality\n(('note:データを局所化'))
279
+
280
+ * Minimize cache misses\n
281
+ (('note:キャッシュミスを減らす'))
282
+ * Storage is very slow\n
283
+ (('note:ストレージはすごく遅い'))
284
+ * Memory is slow\n
285
+ (('note:メモリーは遅い'))
286
+ * CPU cache is fast\n
287
+ (('note:CPUキャッシュは速い'))
288
+
289
+ = High performance (2)\n(('note:高速化(2)'))
290
+
291
+ SIMD\n
292
+ (('note:Single Instruction Multi Data'))\n
293
+ (('note:一気に複数のデータを処理する方法'))
294
+
295
+ = SIMD
296
+
297
+ * Data must be contiguous and aligned\n
298
+ (('note:データは連続していてアラインされていないといけない'))
299
+ * Arrow format is SIMD ready\n
300
+ (('note:ArrowフォーマットはSIMDを使える'))
301
+ * No condition branch\n
302
+ (('note:条件分岐がないこと'))
303
+ * Use bitmap instead of "missing" for null\n
304
+ (('note:nullを表現するために「欠損値」ではなく別途ビットマップを使う'))\n
305
+ (('note:((<"Is it time to stop using sentinel values for null / NA values?"|URL:http://wesmckinney.com/blog/bitmaps-vs-sentinel-values/>))'))
306
+
307
+ = No condition branch\n(('note:条件分岐なし'))
308
+
309
+ # img
310
+ # src = images/simd-null.svg
311
+ # relative_height = 100
312
+
313
+ == Slide property
314
+
315
+ : enable-title-on-image
316
+ false
317
+
318
+ = FYI: null\n(('note:参考情報:null'))
319
+
320
+ * All data types support null in Arrow\n
321
+ (('note:Arrowはすべての型でnullをサポート'))
322
+ * Some types only support null in NumPy\n
323
+ (('note:NumPyは一部の型でnullをサポート'))\n
324
+ (('note:((<欠損値の制約 - PythonとApache Arrow|URL:https://speakerdeck.com/sinhrks/pythontoapache-arrow-eaf72479-ce30-4161-8c73-15b555cc56c7?slide=11>))'))
325
+
326
+ = High performance (3)\n(('note:高速化(3)'))
327
+
328
+ Thread
329
+
330
+ = Thread
331
+
332
+ * Use multi-cores in single process\n
333
+ (('note:シングルプロセスで複数コアを使う'))
334
+ * Minimize resource conflict\n
335
+ (('note:リソースの競合をなくすこと'))
336
+ * Locking to avoid conflict reduces performance\n
337
+ (('note:競合を避けるためにロックすると性能劣化'))
338
+ * Approaches(('note:(アプローチ)'))
339
+ * Read only or copy (shared nothing)\n
340
+ (('note:リードオンリーにするかコピー(なにも共有しない)'))
341
+
342
+ = Apache Arrow and thread\n(('note:Apache Arrowとスレッド'))
343
+
344
+ * Data is read only\n
345
+ (('note:データはリードオンリー'))
346
+ * Share data in threads without lock overhead\n
347
+ (('note:ロックのオーバーヘッドなしでスレッド間でデータを共有'))
348
+ * Avoid both locking and copying\n
349
+ (('note:ロックもコピーも避ける'))
350
+ * They reduce performance\n
351
+ (('note:どちらも性能劣化するから'))
352
+
353
+ = High performance (4)\n(('note:高速化(4)'))
354
+
355
+ Compute kernels\n
356
+ (('note:計算カーネル'))
357
+
358
+ = Compute kernels\n(('note:計算カーネル'))
359
+
360
+ * SIMD ready primitive operations\n
361
+ (('note:SIMDを使ったプリミティブな演算'))
362
+ * Projection, Filter, Aggregation, ...\n
363
+ (('note:射影とかフィルターとか集計とかとか'))
364
+ * compare, take, mean, ...\n
365
+ (('note:比較とか行選択とか平均とか'))
366
+
367
+ = High performance (5)\n(('note:高速化(5)'))
368
+
369
+ Subgraph compiler\n
370
+ (('note:サブグラフコンパイラー'))
371
+
372
+ = Subgraph compiler: Gandiva\n(('note:サブグラフコンパイラー:Gandiva'))
373
+
374
+ * Compile operator graphs at run-time\n
375
+ (('note:実行時に演算グラフをコンパイル'))
376
+ * Operator graph: combined multiple operations\n
377
+ (('note:演算グラフ:演算のまとまり'))
378
+ * (({table.a + table.b < table.c && ...}))
379
+ * Usable for query engine backend\n
380
+ (('note:クエリーエンジンのバックエンドとして使える'))
381
+
382
+ = High performance (6)\n(('note:高速化(6)'))
383
+
384
+ Query engine\n
385
+ (('note:クエリーエンジン'))
386
+
387
+ = Query engine\n(('note:クエリーエンジン'))
388
+
389
+ * For single node\n
390
+ (('note:シングルノード向け'))
391
+ * Dataflow-style operator execution\n
392
+ (('note:データが流れるように演算を実行'))
393
+ * scan → project → filter → aggregate → ...\n
394
+ (('note:データ取得→射影→フィルター→集計→…'))
395
+
396
+ (('note:((<Apache Arrow Query Engine for C++|URL:https://docs.google.com/document/d/10RoUZmiMQRi_J1FcPeVAUAMJ6d_ZuiEbaM2Y33sNPu4/edit#>))'))
397
+
398
+ = Query engine from Python\n(('note:Pythonからクエリーエンジンを使う'))
399
+
400
+ * With pandas(('note:(pandasと使う)'))
401
+ * Large data → execute → (({to_pandas()}))\n
402
+ (('note:大きなデータ→実行→(({to_pandas()}))'))
403
+ * With Dask(('note:(Daskと使う)'))
404
+ * Dask will be able to use this as backend\n
405
+ (('note:Daskのバックエンドで使えるかも?'))
406
+
407
+ = High performance (7)\n(('note:高速化(7)'))
408
+
409
+ Datasets\n
410
+ (('note:データセット'))
411
+
412
+ = Datasets\n(('note:データセット'))
413
+
414
+ * Scan data from storage/database\n
415
+ (('note:ストレージ・データベースからデータ取得'))
416
+ * File systems: local, HDFS, ...
417
+ * Formats: CSV, Parquet, ...
418
+ * Databases: MySQL, PostgreSQL, ...
419
+
420
+ (('note:((<Apache Arrow C++ Datasets|URL:https://docs.google.com/document/d/1bVhzifD38qDypnSjtf8exvpP3sSB5x_Kw9m-n66FB2c/edit#heading=h.22aikbvt54fv>))'))
421
+
422
+ = Fast datasets\n(('note:高速なデータセット'))
423
+
424
+ * Predicate pushdown\n
425
+ (('note:条件のプッシュダウン'))
426
+ * Scan only needed data\n
427
+ (('note:必要なデータのみ取得'))
428
+ * Parallel scan\n
429
+ (('note:並列取得'))
430
+
431
+ = Feature (4)\n(('note:機能(4)'))
432
+
433
+ RPC
434
+
435
+ = RPC: Arrow Flight
436
+
437
+ * Fast RPC framework for Arrow\n
438
+ (('note:Arrow用の高速なRPC'))
439
+ * Based on gRPC with low-level extensions\n
440
+ (('note:gRPCベースでいくつか低レベルの拡張をしている'))
441
+
442
+ (('note:((<Apache 0.11.0 Release|URL:https://arrow.apache.org/blog/2018/10/09/0.11.0-release/>))'))
443
+
444
+ = Wrap up\n(('note:まとめ'))
445
+
446
+ * Arrow is useful for SciPy community\n
447
+ (('note:SciPyコミュニティーにArrowは有用'))
448
+ * in not only Python but also other languages\n
449
+ (('note:Pythonだけでなく他の言語でも有用'))
450
+ * Join Apache Arrow development!\n
451
+ (('note:Apache Arrowの開発に参加しよう!'))
452
+ * Ask me how to start\n
453
+ (('note:なにから始めればよいかは私に相談してね'))
454
+
455
+ = Next step\n(('note:次の一歩'))
456
+
457
+ * ((<Mailing list|URL:https://lists.apache.org/list.html?dev@arrow.apache.org>)): dev@arrow.apache.org
458
+ * Chat in Japanese:
459
+ * ((<URL:https://gitter.im/apache-arrow-ja/community>))
460
+ * Apache Arrow Tokyo Meetup 2019 (('note:this summer?'))
461
+ * See also: ((<Apache Arrow Tokyo Meetup 2018|URL:https://speee.connpass.com/event/103514>))
data/config.yaml ADDED
@@ -0,0 +1,23 @@
1
+ ---
2
+ id: scipy-japan-2019
3
+ base_name: apache-arrow
4
+ tags:
5
+ - rabbit
6
+ - apachearrow
7
+ - scipyjapan
8
+ presentation_date: 2019-04-23
9
+ version: 2019.4.23.0
10
+ licenses:
11
+ - CC-BY-SA-4.0
12
+ slideshare_id:
13
+ speaker_deck_id:
14
+ ustream_id:
15
+ vimeo_id:
16
+ youtube_id:
17
+ author:
18
+ markup_language: :rd
19
+ name: Kouhei Sutou
20
+ email: kou@clear-code.com
21
+ rubygems_user: kou
22
+ slideshare_user: kou
23
+ speaker_deck_user:
@@ -0,0 +1,110 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
6
+ xmlns:cc="http://creativecommons.org/ns#"
7
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8
+ xmlns:svg="http://www.w3.org/2000/svg"
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ xmlns:xlink="http://www.w3.org/1999/xlink"
11
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
12
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
13
+ width="75.882507mm"
14
+ height="26.80608mm"
15
+ viewBox="0 0 75.882507 26.80608"
16
+ version="1.1"
17
+ id="svg8"
18
+ inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
19
+ sodipodi:docname="apache-arrow-and-me.svg">
20
+ <defs
21
+ id="defs2" />
22
+ <sodipodi:namedview
23
+ id="base"
24
+ pagecolor="#ffffff"
25
+ bordercolor="#666666"
26
+ borderopacity="1.0"
27
+ inkscape:pageopacity="0.0"
28
+ inkscape:pageshadow="2"
29
+ inkscape:zoom="2.8"
30
+ inkscape:cx="156.89553"
31
+ inkscape:cy="66.78917"
32
+ inkscape:document-units="mm"
33
+ inkscape:current-layer="layer1"
34
+ showgrid="false"
35
+ fit-margin-top="0"
36
+ fit-margin-left="0"
37
+ fit-margin-right="0"
38
+ fit-margin-bottom="0"
39
+ inkscape:window-width="1920"
40
+ inkscape:window-height="1016"
41
+ inkscape:window-x="1920"
42
+ inkscape:window-y="27"
43
+ inkscape:window-maximized="1" />
44
+ <metadata
45
+ id="metadata5">
46
+ <rdf:RDF>
47
+ <cc:Work
48
+ rdf:about="">
49
+ <dc:format>image/svg+xml</dc:format>
50
+ <dc:type
51
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
52
+ <dc:title></dc:title>
53
+ </cc:Work>
54
+ </rdf:RDF>
55
+ </metadata>
56
+ <g
57
+ inkscape:label="レイヤー 1"
58
+ inkscape:groupmode="layer"
59
+ id="layer1"
60
+ transform="translate(-192.56903,-203.17799)">
61
+ <image
62
+ sodipodi:absref="contributors.png"
63
+ xlink:href="contributors.png"
64
+ width="63.330666"
65
+ height="23.791332"
66
+ preserveAspectRatio="none"
67
+ id="image913"
68
+ x="192.56903"
69
+ y="203.17799" />
70
+ <image
71
+ sodipodi:absref="commits-0.11.0-0.12.0.png"
72
+ xlink:href="commits-0.11.0-0.12.0.png"
73
+ width="61.298664"
74
+ height="10.752666"
75
+ preserveAspectRatio="none"
76
+ id="image959"
77
+ x="198.97121"
78
+ y="210.83127" />
79
+ <image
80
+ sodipodi:absref="commits-0.12.0-0.13.0.png"
81
+ xlink:href="commits-0.12.0-0.13.0.png"
82
+ width="61.976002"
83
+ height="10.922"
84
+ preserveAspectRatio="none"
85
+ id="image1021"
86
+ x="206.47554"
87
+ y="219.06207" />
88
+ <rect
89
+ style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ce5c00;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
90
+ id="rect1024"
91
+ width="30.521566"
92
+ height="5.2916636"
93
+ x="224.88599"
94
+ y="203.71472" />
95
+ <rect
96
+ y="214.10905"
97
+ x="202.86887"
98
+ height="2.4568474"
99
+ width="18.04834"
100
+ id="rect1026"
101
+ style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ce5c00;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
102
+ <rect
103
+ style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ce5c00;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
104
+ id="rect1028"
105
+ width="18.04834"
106
+ height="2.4568474"
107
+ x="210.42839"
108
+ y="224.78688" />
109
+ </g>
110
+ </svg>
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,291 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
6
+ xmlns:cc="http://creativecommons.org/ns#"
7
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8
+ xmlns:svg="http://www.w3.org/2000/svg"
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
+ width="182.15048mm"
13
+ height="125.74078mm"
14
+ viewBox="0 0 182.15048 125.74078"
15
+ version="1.1"
16
+ id="svg8"
17
+ inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
18
+ sodipodi:docname="simd-null.svg">
19
+ <defs
20
+ id="defs2" />
21
+ <sodipodi:namedview
22
+ id="base"
23
+ pagecolor="#ffffff"
24
+ bordercolor="#666666"
25
+ borderopacity="1.0"
26
+ inkscape:pageopacity="0.0"
27
+ inkscape:pageshadow="2"
28
+ inkscape:zoom="0.98994949"
29
+ inkscape:cx="253.28842"
30
+ inkscape:cy="332.35173"
31
+ inkscape:document-units="mm"
32
+ inkscape:current-layer="layer1"
33
+ showgrid="false"
34
+ fit-margin-top="5"
35
+ fit-margin-left="5"
36
+ fit-margin-bottom="5"
37
+ fit-margin-right="5"
38
+ inkscape:window-width="1920"
39
+ inkscape:window-height="1016"
40
+ inkscape:window-x="0"
41
+ inkscape:window-y="27"
42
+ inkscape:window-maximized="1" />
43
+ <metadata
44
+ id="metadata5">
45
+ <rdf:RDF>
46
+ <cc:Work
47
+ rdf:about="">
48
+ <dc:format>image/svg+xml</dc:format>
49
+ <dc:type
50
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
51
+ <dc:title />
52
+ </cc:Work>
53
+ </rdf:RDF>
54
+ </metadata>
55
+ <g
56
+ inkscape:label="レイヤー 1"
57
+ inkscape:groupmode="layer"
58
+ id="layer1"
59
+ transform="translate(18.78782,-3.4599898)">
60
+ <rect
61
+ style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
62
+ id="rect815"
63
+ width="41.015972"
64
+ height="33.886806"
65
+ x="13.229166"
66
+ y="21.455357" />
67
+ <text
68
+ xml:space="preserve"
69
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:100%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-indent:0;text-align:center;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:middle;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
70
+ x="-3.3676131"
71
+ y="34.808594"
72
+ id="text827"><tspan
73
+ sodipodi:role="line"
74
+ id="tspan825"
75
+ x="-3.3676131"
76
+ y="34.808594"
77
+ style="stroke-width:1">null</tspan></text>
78
+ <text
79
+ xml:space="preserve"
80
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:100%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-indent:0;text-align:center;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:middle;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
81
+ x="33.79007"
82
+ y="34.808594"
83
+ id="text831"><tspan
84
+ sodipodi:role="line"
85
+ id="tspan829"
86
+ x="33.79007"
87
+ y="34.808594"
88
+ style="stroke-width:1">1 0 1</tspan></text>
89
+ <text
90
+ xml:space="preserve"
91
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:100%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-indent:0;text-align:center;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:middle;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
92
+ x="-3.6807373"
93
+ y="49.937122"
94
+ id="text835"><tspan
95
+ sodipodi:role="line"
96
+ id="tspan833"
97
+ x="-3.6807373"
98
+ y="49.937122"
99
+ style="stroke-width:1">data</tspan></text>
100
+ <text
101
+ xml:space="preserve"
102
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:100%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-indent:0;text-align:center;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:middle;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
103
+ x="33.297943"
104
+ y="50.042957"
105
+ id="text839"><tspan
106
+ sodipodi:role="line"
107
+ id="tspan837"
108
+ x="35.943775"
109
+ y="50.042957"
110
+ style="stroke-width:1">1 X 3 </tspan></text>
111
+ <rect
112
+ y="21.455357"
113
+ x="86.995552"
114
+ height="33.886806"
115
+ width="41.015972"
116
+ id="rect843"
117
+ style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
118
+ <text
119
+ id="text851"
120
+ y="34.808594"
121
+ x="107.50354"
122
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:100%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-indent:0;text-align:center;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:middle;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
123
+ xml:space="preserve"><tspan
124
+ style="stroke-width:1"
125
+ y="34.808594"
126
+ x="107.50354"
127
+ id="tspan849"
128
+ sodipodi:role="line">0 1 1</tspan></text>
129
+ <text
130
+ id="text855"
131
+ y="50.042957"
132
+ x="107.60938"
133
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:100%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-indent:0;text-align:center;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:middle;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
134
+ xml:space="preserve"><tspan
135
+ style="stroke-width:1"
136
+ y="50.042957"
137
+ x="107.60938"
138
+ id="tspan853"
139
+ sodipodi:role="line">X 2 5</tspan></text>
140
+ <text
141
+ xml:space="preserve"
142
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:100%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-indent:0;text-align:center;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:middle;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
143
+ x="70.829102"
144
+ y="17.364624"
145
+ id="text859"><tspan
146
+ sodipodi:role="line"
147
+ id="tspan857"
148
+ x="70.829102"
149
+ y="17.364624"
150
+ style="stroke-width:1">+</tspan></text>
151
+ <text
152
+ xml:space="preserve"
153
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:100%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-indent:0;text-align:center;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:middle;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
154
+ x="33.125305"
155
+ y="16.767906"
156
+ id="text863"><tspan
157
+ sodipodi:role="line"
158
+ id="tspan861"
159
+ x="33.125305"
160
+ y="16.767906"
161
+ style="stroke-width:1">[1, null, 3]</tspan></text>
162
+ <text
163
+ xml:space="preserve"
164
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:100%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-indent:0;text-align:center;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:middle;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
165
+ x="108.5329"
166
+ y="16.767906"
167
+ id="text867"><tspan
168
+ sodipodi:role="line"
169
+ id="tspan865"
170
+ x="108.5329"
171
+ y="16.767906"
172
+ style="stroke-width:1">[null, 2, 5]</tspan></text>
173
+ <rect
174
+ y="74.641991"
175
+ x="11.892818"
176
+ height="33.886806"
177
+ width="41.015972"
178
+ id="rect869"
179
+ style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
180
+ <text
181
+ id="text877"
182
+ y="87.995232"
183
+ x="32.400803"
184
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:100%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-indent:0;text-align:center;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:middle;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
185
+ xml:space="preserve"><tspan
186
+ style="stroke-width:1"
187
+ y="87.995232"
188
+ x="32.400803"
189
+ id="tspan875"
190
+ sodipodi:role="line">0 0 1</tspan></text>
191
+ <text
192
+ id="text885"
193
+ y="103.22959"
194
+ x="32.136223"
195
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:100%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-indent:0;text-align:center;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:middle;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
196
+ xml:space="preserve"><tspan
197
+ style="stroke-width:1"
198
+ y="103.22959"
199
+ x="34.782055"
200
+ id="tspan883"
201
+ sodipodi:role="line">X X 8 </tspan></text>
202
+ <text
203
+ id="text912"
204
+ y="122.74027"
205
+ x="32.48177"
206
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:100%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-indent:0;text-align:center;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:middle;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
207
+ xml:space="preserve"><tspan
208
+ style="stroke-width:1"
209
+ y="122.74027"
210
+ x="32.48177"
211
+ id="tspan910"
212
+ sodipodi:role="line">[null, null, 8]</tspan></text>
213
+ <path
214
+ style="fill:none;fill-rule:evenodd;stroke:#204a87;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
215
+ d="M 48.643053,31.601359 H 61.887955 V 85.055264 H 48.108515"
216
+ id="path934"
217
+ inkscape:connector-curvature="0"
218
+ sodipodi:nodetypes="cccc" />
219
+ <path
220
+ style="fill:none;fill-rule:evenodd;stroke:#204a87;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
221
+ d="M 91.216399,31.601359 H 57.730217"
222
+ id="path938"
223
+ inkscape:connector-curvature="0"
224
+ sodipodi:nodetypes="cc" />
225
+ <text
226
+ xml:space="preserve"
227
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:100%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-indent:0;text-align:center;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:middle;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
228
+ x="19.087797"
229
+ y="69.269341"
230
+ id="text942"><tspan
231
+ sodipodi:role="line"
232
+ id="tspan940"
233
+ x="19.087797"
234
+ y="69.269341"
235
+ style="stroke-width:1">bitwise &amp;</tspan></text>
236
+ <path
237
+ style="fill:none;fill-rule:evenodd;stroke:#a40000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.00000003, 1.00000003;stroke-dashoffset:0;stroke-opacity:1"
238
+ d="M 48.380951,46.590772 H 72.004464 V 98.373511 H 49.136905"
239
+ id="path944"
240
+ inkscape:connector-curvature="0" />
241
+ <path
242
+ style="fill:none;fill-rule:evenodd;stroke:#a40000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.00000003, 1.00000003;stroke-dashoffset:0;stroke-opacity:1"
243
+ d="M 91.281248,46.590772 H 72.004464"
244
+ id="path946"
245
+ inkscape:connector-curvature="0"
246
+ sodipodi:nodetypes="cc" />
247
+ <text
248
+ xml:space="preserve"
249
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:100%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
250
+ x="79.452759"
251
+ y="69.093643"
252
+ id="text950"><tspan
253
+ sodipodi:role="line"
254
+ id="tspan948"
255
+ x="79.452759"
256
+ y="69.093643"
257
+ style="text-align:start;text-anchor:start;stroke-width:1">+ by SIMD</tspan><tspan
258
+ sodipodi:role="line"
259
+ x="79.452759"
260
+ y="79.887405"
261
+ style="text-align:start;text-anchor:start;stroke-width:1"
262
+ id="tspan47">including null</tspan><tspan
263
+ sodipodi:role="line"
264
+ x="79.452759"
265
+ y="90.68116"
266
+ style="text-align:start;text-anchor:start;stroke-width:1"
267
+ id="tspan954">elements</tspan></text>
268
+ <text
269
+ id="text958"
270
+ y="87.889397"
271
+ x="-3.3676131"
272
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:100%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-indent:0;text-align:center;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:middle;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
273
+ xml:space="preserve"><tspan
274
+ style="stroke-width:1"
275
+ y="87.889397"
276
+ x="-3.3676131"
277
+ id="tspan956"
278
+ sodipodi:role="line">null</tspan></text>
279
+ <text
280
+ id="text962"
281
+ y="103.12376"
282
+ x="-3.6807373"
283
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:100%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-indent:0;text-align:center;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:middle;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
284
+ xml:space="preserve"><tspan
285
+ style="stroke-width:1"
286
+ y="103.12376"
287
+ x="-3.6807373"
288
+ id="tspan960"
289
+ sodipodi:role="line">data</tspan></text>
290
+ </g>
291
+ </svg>
data/plot-0.png ADDED
Binary file
data/plot-1.png ADDED
Binary file
data/plot-2.png ADDED
Binary file
data/plot-3.png ADDED
Binary file
data/theme.rb ADDED
@@ -0,0 +1 @@
1
+ include_theme("clear-code")
metadata ADDED
@@ -0,0 +1,93 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rabbit-slide-kou-scipy-japan-2019
3
+ version: !ruby/object:Gem::Version
4
+ version: 2019.4.23.0
5
+ platform: ruby
6
+ authors:
7
+ - Kouhei Sutou
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2019-04-22 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rabbit
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 2.0.2
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 2.0.2
27
+ - !ruby/object:Gem::Dependency
28
+ name: rabbit-theme-clear-code
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ description: |-
42
+ Apache Arrow is the future for data processing systems. This talk
43
+ describes how to solve data sharing overhead in data processing system
44
+ such as Spark and PySpark. This talk also describes how to accelerate
45
+ computation against your large data by Apache Arrow.
46
+ email:
47
+ - kou@clear-code.com
48
+ executables: []
49
+ extensions: []
50
+ extra_rdoc_files: []
51
+ files:
52
+ - ".rabbit"
53
+ - README.rd
54
+ - Rakefile
55
+ - apache-arrow.rab
56
+ - config.yaml
57
+ - images/apache-arrow-and-me.svg
58
+ - images/commits-0.11.0-0.12.0.png
59
+ - images/commits-0.12.0-0.13.0.png
60
+ - images/contributors.png
61
+ - images/serialize-list.png
62
+ - images/simd-null.svg
63
+ - pdf/scipy-japan-2019-apache-arrow.pdf
64
+ - plot-0.png
65
+ - plot-1.png
66
+ - plot-2.png
67
+ - plot-3.png
68
+ - theme.rb
69
+ homepage: https://slide.rabbit-shocker.org/authors/kou/scipy-japan-2019/
70
+ licenses:
71
+ - CC-BY-SA-4.0
72
+ metadata: {}
73
+ post_install_message:
74
+ rdoc_options: []
75
+ require_paths:
76
+ - lib
77
+ required_ruby_version: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ required_rubygems_version: !ruby/object:Gem::Requirement
83
+ requirements:
84
+ - - ">="
85
+ - !ruby/object:Gem::Version
86
+ version: '0'
87
+ requirements: []
88
+ rubyforge_project:
89
+ rubygems_version: 2.7.6.2
90
+ signing_key:
91
+ specification_version: 4
92
+ summary: Apache Arrow - A cross-language development platform for in-memory data
93
+ test_files: []