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
Thomas Navennec
352dd5e7fa
Change parse_json return type from bool to int ( #82 )
...
* Added simdjerr namespace
* Updated jsonparser files
* updated stage1 and stage2
* removed stage2 inline function
* Added forgotten return statements
* Updated tools and benchmarks
* Corrected parenthesis
* Removed extra =
* Accidentally undid reinterpret_cast
* Better comments, undid a header name fuckup
* Added an errorMsg method, updated readme
* Removed useless header from stage2
* Updated single-header file
* added simdjerr.cpp contents to simdjson.cpp
* Made single header version work
* Updated singleheader test, fixed simdjson.cpp
* Renamed simdjerr namespace and files to simdjson
* Updating the amalgamation.
2019-03-02 17:18:45 -05:00
greedengineer
0c8ee105b4
fix memory free ( #86 )
2019-02-27 07:50:20 -05:00
Carmot
a22c20fab0
Removed innecesary check and objects release. ( #79 )
2019-02-26 19:08:13 -05:00
M. Zhou
3d48628e71
CMake: Add version and soversion to library target properties. ( #76 )
2019-02-26 16:39:59 -05:00
Kai Wolf
33341b60d8
Apply code review suggestions
...
- Undo explicit bool conversion
- Don't check for NULL before deleting pointer
2019-02-26 09:36:28 +01:00
Kai Wolf
e7683820d5
Merge branch 'master' into fix_minor_problems
2019-02-25 21:05:29 +01:00
Wojciech Muła
7830b1be87
Use nothrow ( #65 )
...
* Use C++11 features
* Use std::nothrow
By default new throws std::bad_alloc, so no check code would be executed.
2019-02-25 14:36:45 -05:00
Kai Wolf
b521719b6f
Fix old-style C-Casts
2019-02-23 17:31:38 +01:00
Kai Wolf
ff22e75f95
Apply minor readability fixes
2019-02-23 17:28:20 +01:00
Geoff Langdale
3d30fd5440
Fixed a stage number message and we now fail out if no structural chars from stage 1
2019-02-23 10:51:45 +11:00
Daniel Lemire
389f8b514e
Porting recently introduced fix.
2019-02-22 14:39:21 -05:00
Thomas Navennec
9606343b2c
ParsedJson & ParsedJson::iterator definitions in .cpp files ( #47 )
...
* Minor change to benchmark cmake
* Moved ParsedJson and its Iterator to separate .cpp files
* Uncommented functions, that has nothing to do with this pr
* Removed really_inline comments
* Reinstated some inline functions to restore previous performance
* Re-merged iterator in ParsedJson
* Uncommented some WARN_UNUSED
2019-02-22 14:38:35 -05:00
Daniel Lemire
35eceaf1c4
Merge branch 'master' of github.com:lemire/simdjson
2019-01-24 14:29:02 -05:00
Daniel Lemire
2ca29edab3
Fixing bad spacing.
2019-01-23 20:36:23 -05:00
Daniel Lemire
85d8c9dbf0
Minor code cleaning
2019-01-18 15:21:54 -05:00
Daniel Lemire
084dfbc2b3
Fix for name change.
2019-01-16 11:29:52 -05:00
Daniel Lemire
ca5f3349e6
Removing useless macro.
2019-01-08 10:34:21 -05:00
Daniel Lemire
bad32be5f6
Merge branch 'stage12unified_attempt2'
2018-12-31 17:33:01 -05:00