Commit 910f272
authored
Add parser implementation interface and selection API (simdjson#501)
* Make architecture implementations virtual functions
- Easier to add new architectures (add implementation to implementation.cpp)
- Easier to add new algorithms / functions to architecture selection
(add to implementation.h, implement)
- Automatically select best implementation in static initialization
- Allow user to explicitly select implementation with a string (i.e.
parameter)
- Allow user to inspect current implementation name/description
- Allow user to list available implementations
- Eliminate architecture enum and architecture-based templating
- Add noexcept in non-inline functions
* Move implementation static methods to their own classes
* Detect best supported implementation on first use
* available_implementationsI() -> available_implementations1 parent b6423a3 commit 910f272
43 files changed
Lines changed: 1565 additions & 1730 deletions
File tree
- benchmark
- include
- simdjson
- inline
- singleheader
- src
- arm64
- generic
- haswell
- westmere
- tests
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
70 | 70 | | |
71 | 71 | | |
72 | 72 | | |
73 | | - | |
| 73 | + | |
74 | 74 | | |
75 | 75 | | |
76 | | - | |
| 76 | + | |
77 | 77 | | |
78 | 78 | | |
79 | 79 | | |
| |||
160 | 160 | | |
161 | 161 | | |
162 | 162 | | |
163 | | - | |
| 163 | + | |
164 | 164 | | |
165 | 165 | | |
166 | 166 | | |
167 | 167 | | |
168 | 168 | | |
169 | | - | |
| 169 | + | |
170 | 170 | | |
171 | 171 | | |
172 | | - | |
| 172 | + | |
173 | 173 | | |
174 | 174 | | |
175 | 175 | | |
| |||
210 | 210 | | |
211 | 211 | | |
212 | 212 | | |
213 | | - | |
| 213 | + | |
214 | 214 | | |
215 | 215 | | |
216 | 216 | | |
217 | 217 | | |
218 | 218 | | |
219 | 219 | | |
220 | 220 | | |
221 | | - | |
| 221 | + | |
222 | 222 | | |
223 | 223 | | |
224 | 224 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| 19 | + | |
19 | 20 | | |
| 21 | + | |
20 | 22 | | |
21 | 23 | | |
22 | | - | |
23 | 24 | | |
24 | 25 | | |
25 | | - | |
26 | | - | |
27 | 26 | | |
28 | 27 | | |
29 | 28 | | |
| |||
38 | 37 | | |
39 | 38 | | |
40 | 39 | | |
41 | | - | |
42 | | - | |
43 | 40 | | |
44 | | - | |
45 | | - | |
46 | 41 | | |
47 | 42 | | |
48 | 43 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
2 | 1 | | |
3 | 2 | | |
4 | 3 | | |
| |||
34 | 33 | | |
35 | 34 | | |
36 | 35 | | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | | - | |
| 36 | + | |
41 | 37 | | |
42 | 38 | | |
43 | 39 | | |
| |||
132 | 128 | | |
133 | 129 | | |
134 | 130 | | |
| 131 | + | |
135 | 132 | | |
136 | 133 | | |
137 | 134 | | |
| |||
160 | 157 | | |
161 | 158 | | |
162 | 159 | | |
163 | | - | |
| 160 | + | |
164 | 161 | | |
165 | 162 | | |
166 | 163 | | |
| |||
410 | 407 | | |
411 | 408 | | |
412 | 409 | | |
413 | | - | |
414 | | - | |
415 | | - | |
416 | | - | |
417 | | - | |
418 | | - | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
419 | 414 | | |
420 | 415 | | |
421 | 416 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
5 | 4 | | |
6 | 5 | | |
7 | 6 | | |
| |||
38 | 37 | | |
39 | 38 | | |
40 | 39 | | |
41 | | - | |
42 | | - | |
43 | 40 | | |
44 | 41 | | |
45 | 42 | | |
| |||
264 | 261 | | |
265 | 262 | | |
266 | 263 | | |
267 | | - | |
268 | | - | |
269 | 264 | | |
270 | 265 | | |
271 | 266 | | |
| |||
281 | 276 | | |
282 | 277 | | |
283 | 278 | | |
284 | | - | |
285 | | - | |
| 279 | + | |
| 280 | + | |
286 | 281 | | |
287 | 282 | | |
288 | 283 | | |
| |||
307 | 302 | | |
308 | 303 | | |
309 | 304 | | |
310 | | - | |
311 | | - | |
| 305 | + | |
| 306 | + | |
312 | 307 | | |
313 | 308 | | |
| 309 | + | |
314 | 310 | | |
315 | | - | |
316 | | - | |
317 | | - | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
318 | 314 | | |
319 | 315 | | |
320 | 316 | | |
| |||
325 | 321 | | |
326 | 322 | | |
327 | 323 | | |
328 | | - | |
| 324 | + | |
329 | 325 | | |
330 | 326 | | |
331 | | - | |
332 | | - | |
333 | | - | |
| 327 | + | |
| 328 | + | |
334 | 329 | | |
335 | 330 | | |
336 | 331 | | |
| |||
340 | 335 | | |
341 | 336 | | |
342 | 337 | | |
343 | | - | |
344 | | - | |
345 | | - | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
346 | 341 | | |
347 | 342 | | |
348 | 343 | | |
| |||
351 | 346 | | |
352 | 347 | | |
353 | 348 | | |
354 | | - | |
355 | | - | |
| 349 | + | |
| 350 | + | |
356 | 351 | | |
357 | 352 | | |
358 | 353 | | |
359 | | - | |
| 354 | + | |
360 | 355 | | |
361 | 356 | | |
362 | 357 | | |
| |||
This file was deleted.
0 commit comments