ioioioio
c2eea8abba
Style uniformization ( #238 )
...
* massive clang-format -style=LLVM
* naming harmonization
* adding commentary about sysinfoapi.h
2019-07-30 17:18:10 -04:00
Daniel Lemire
771e9cd68a
Trying again... ( #235 )
2019-07-29 13:55:13 -04:00
Daniel Lemire
c328afee57
This should fix master.
2019-07-29 13:44:25 -04:00
Daniel Lemire
a53d95099c
Intrinsic-based flatten ( #234 )
...
* Providing a flatten function with intrinsics (for Visual Studio).
2019-07-29 13:28:02 -04:00
Daniel Lemire
f76ee5e5ef
Fixes issue 221 ( #222 )
...
https://github.com/lemire/simdjson/issues/221
2019-07-29 10:07:07 -04:00
Daniel Lemire
eba02dc1b9
Runtime dispatch
...
* Attempt 1 - fn targeting
GCC won't work with templates with different targets, need to specialize all the way up the call stack.
* Compiles properly with cmake. Does not with the Makefile.
* Compilation works with Makefile
* instruction_set changes to architecture
* some aesthetic changes
* fix amalgation and tests + aesthetic changes
* This now compiles and passes tests under CLANG
* Minor correction.
* Trying to make it work on ARM
* Adding missing namespace
* Missing bracket
* Fixing minor compilation issues.
* Getting parse to use runtime dispatch
* Fixing amalgamation script.
* Making sure that NEON is supported.
* Fixing typo
* Merging https://github.com/lemire/simdjson/pull/229
* Manual merge of
https://github.com/lemire/simdjson/pull/229
by @jkeiser (second part)
* Trying another way.
* Removing the paral.
* Fixing the make file
* Let us make the practice run long enough.
* Resolved the awful slowness.
* Cleaning the README.md
* With runtime dispatching, we should not need flags anymore.
* Changing isa detection file's name + fixing typos.
2019-07-28 22:46:33 -04:00
ioioioio
bcabdfc1ae
Json pointer ( #220 )
...
* json pointer support
* Addition of tests for the json pointer
* Adding a new tool for the JSON Pointer support, and some documentation.
2019-07-26 18:38:10 -04:00
Daniel Lemire
be956654b2
Minor cleaning = annotating simdjson namespaces and making sure that we don't have headers all over.
2019-07-09 19:24:08 -04:00
Daniel Lemire
fba27ef4b9
I missed a few. Building up VS support.
2019-07-04 17:45:45 -04:00
Daniel Lemire
19cdc09928
Improving support for VS
2019-07-04 17:36:26 -04:00
ioioioio
861a6a17e4
SSE implementation integrated
2019-07-03 17:15:21 -04:00
ioioioio
036f9d5a45
Merge branch 'master' of https://github.com/lemire/simdjson into Multiple_implementation_refactoring_stage2
2019-07-03 10:34:58 -04:00
ioioioio
3f24879157
Stage2 refactored to simplify multiple implementations
2019-07-02 17:12:00 -04:00
ioioioio
9230588ce8
conflicts are solved
2019-07-02 15:21:00 -04:00
Daniel Lemire
aa78b70d69
Introducing a "native" instruction set so that you do not need to do #ifdef to select the right SIMD set all the time.
...
Fixing indentation.
Removing some obsolete WARN_UNUSED.
Fixing a weird warning with optind variable.
2019-07-01 14:18:30 -04:00
ioioioio
de08df6a7e
Correction of identation.
2019-06-28 15:33:30 -04:00
ioioioio
6723221a42
Refactoring stage1 to facilitate multiple implementations.
2019-06-28 15:14:42 -04:00
Daniel Lemire
d7f7f1b200
Fixing issue. ( #193 )
2019-06-20 18:49:47 -04:00
Daniel Lemire
b1e8990654
Moving iterator functions in the header file ( #189 )
...
We want the compiler to inline hot functions in the iterators. Let us leave them in the header file. Please.
2019-06-11 21:09:58 -04:00
Daniel Lemire
b32c72f1fc
Adding a new compile-time flag (SIMDJSON_NAIVE_STRUCTURAL) for research purposes.
2019-06-03 16:41:50 -04:00
Daniel Lemire
e27a46973c
Introducing a fallback for clmul.
2019-06-03 15:10:14 -04:00
Daniel Lemire
06461a465b
Tweaking.
2019-06-03 14:25:22 -04:00
Daniel Lemire
cf6f231be6
Allowing users to provide additional flags.
2019-06-03 14:17:42 -04:00
Daniel Lemire
9239f75123
Adding compile-time option to test the speed of the fast flatten (research-oriented). ( #181 )
2019-06-03 13:37:09 -04:00
Daniel Lemire
642132920f
Fixing performance regression caused by helpful code contributions
...
that moved inlineable functions into the source file combined with
helpful compilers which aren't smart enough to do the inlinining in
any case.
2019-05-31 18:16:12 -04:00
Daniel Lemire
8526387acb
Improving error codes. ( #176 )
...
* This commit adds new error codes.
2019-05-24 17:28:56 -04:00
Daniel Lemire
17ac5c0525
This adds guards so that we can better detect the case where we have neither AVX2 nor ARM NEON. ( #173 )
2019-05-24 17:26:29 -04:00
Daniel Lemire
43dba8ac7f
A slightly better "flatten"? ( #166 )
...
* This seems beneficial.
2019-05-19 12:33:45 -04:00
Daniel Lemire
dcd0cb8080
Fix for https://github.com/lemire/simdjson/issues/58 ( #168 )
2019-05-19 12:25:27 -04:00
Daniel Lemire
47beaff152
Adding white-listing for memory sanitizer.
2019-05-19 11:18:54 -04:00
Daniel Lemire
f75280ac9c
Fix for issue 150 ( #162 )
...
* Checks for issue 150. We run through the test files with sanitizers on.
* Fix for issue 150: the remaining issues were an overrun on the depth capacity and an "off-by-1" overrun on tape capacity.
* Improving makefile.
* Safer git submodule command.
* Getting get 'git' on circleci
2019-05-09 20:51:33 -04:00
Daniel Lemire
e370a65383
Fix for issues 32, 50, 131, 137
...
* Improving portability.
* Revisiting faulty logic regarding same-page overruns.
* Disabling same-page overruns under VS.
* Clarifying the documentation
* Fix for issue 131 + being more explicit regarding memory realloc.
* Fix for issue 137.
* removing "using namespace std" throughout. Fix for 50
* Introducing typed malloc/free.
* Introducing a custom class (padded_string) that solves several minor usability issues.
* Updating amalgamation for testing.
2019-05-09 17:59:51 -04:00
Daniel Lemire
20cda07eef
Minor grammatical thing ("an integer" vs "a integer")
2019-05-09 10:48:31 -04:00
Heinz N. Gies
c1975166a0
False atom fix ( #156 )
...
* Add failing test for falsy atom
* Fix false atom parsing
2019-05-09 10:45:42 -04:00
Daniel Lemire
f0574d492c
Fix for issue 154 ( #157 )
...
* Changes necessary to reproduce
https://github.com/lemire/simdjson/issues/154
* Fixing issue 154.
2019-05-08 22:33:11 -04:00
technateNG
6f0d350f2c
Fix to issue #148 . ( #151 )
...
* Issue #148 fix.
* Test cases for issue #148 .
2019-05-07 20:56:36 -04:00
saka1
719dff1312
Add predicates to ParsedJson::iterator ( #153 )
2019-05-07 14:11:33 -04:00
Daniel Lemire
681cd33698
Making the iterator a tad safer (tweaking the constructor so that it can throw).
2019-04-22 10:53:25 -04:00
Dong Xie
1153778f92
fix a bug in copy constructor of ParsedJson::iterator. ( #146 )
2019-04-22 10:37:02 -04:00
Geoff Langdale
0250352139
Merge branch 'master' of https://github.com/lemire/simdjson
2019-04-01 02:08:15 -04:00
Geoff Langdale
134ba8d1dd
Ratty version of transposed ARM SIMD stuff. Needs cleanup.
2019-04-01 02:07:38 -04:00
Geoff Langdale
777b9c9a9e
Unbreak x86. Durp.
2019-03-30 15:50:35 +11:00
Geoff Langdale
5ba29122fd
First cut of ARM port. Needs hand-hacked Makefile.
2019-03-30 00:47:35 -04:00
Geoff Langdale
b4c815a60c
Concentrate and encapsulate SIMD use somewhat in preparation for ARM port.
2019-03-21 15:15:41 +11:00
Geoff Langdale
473ab12a0a
Stage 2 doesn't need to know about intrinsics either (for itself)
2019-03-21 11:41:15 +11:00
Daniel Lemire
df8f792183
Store the string lengths on the string tape ( #101 )
...
* Store string length in the string-tape item.
* Files are now limited to 4GB.
* Moving detection of unescaped chars to stage 1 to reduce the burden due to string parsing.
Fixes https://github.com/lemire/simdjson/issues/114
Fixes https://github.com/lemire/simdjson/issues/87
2019-03-13 19:32:57 -04:00
Tyler Kennedy
21eef55907
Changes to the behaviour of move_forward to make it suitable for iteration. ( Closes #73 ) ( #103 )
2019-03-06 12:13:55 -05:00
Georgios Floros
d873ee9983
Reuse aligned_malloc ( #108 )
2019-03-06 10:12:55 -05:00
Geoff Langdale
6628c365c9
Substantial refactor (and clang-format google stype) of stage1_find_marks.cpp
2019-03-06 11:09:50 +11:00
myd7349
2851ea490c
Export CMake targets ( #96 )
2019-03-04 16:07:06 -05:00