John Keiser
1febf2ec83
Merge pull request #919 from simdjson/jkeiser/move-current-loc
...
[4/4] Stop persisting current_loc (+2% parse throughput)
2020-06-12 09:55:04 -07:00
John Keiser
fe69928764
Merge pull request #918 from simdjson/jkeiser/remove-iterator-variables
...
[3/4] Remove unneeded structural_iterator variables
2020-06-12 09:52:35 -07:00
John Keiser
bbd61eb13f
Let tape writing be put in a register
2020-06-12 09:18:20 -07:00
John Keiser
e15e1e253d
peek_char -> peek_next_char
2020-06-12 09:10:16 -07:00
Daniel Lemire
45e2178ada
Duh.
2020-06-11 17:20:28 +00:00
Daniel Lemire
a6e4933d93
Exposing the string minifier.
2020-06-11 13:07:18 -04:00
Daniel Lemire
98599e0972
Remove the circleci badge since it may appear to fail due to perfdiff
2020-06-11 11:37:53 -04:00
John Keiser
b4837f2e2f
Merge pull request #915 from simdjson/jkeiser/stage2-common
...
[2/4] Use same state machine for stage 2 streaming and non-streaming
2020-06-10 08:37:08 -07:00
John Keiser
ea08e7d192
Remove unused extra copy of find_next_document_index
2020-06-09 17:52:13 -07:00
John Keiser
d178e089a6
Stop caching current structural, keep current index around instead of
...
next
2020-06-08 15:21:54 -07:00
John Keiser
5f00b37e21
Stop caching the buffer index
2020-06-08 15:21:54 -07:00
John Keiser
8a8792d47f
Remove most uses of current_char()
2020-06-08 15:21:54 -07:00
John Keiser
59d9bc9e48
Store the pointer to the next structural instead of base
...
structural_indexes and an index
2020-06-08 15:21:54 -07:00
John Keiser
8793dd3ceb
Don't store len locally
2020-06-08 15:21:54 -07:00
John Keiser
48062380fa
Move parser to structural_iterator
2020-06-08 15:21:54 -07:00
John Keiser
3636aa5522
Extend structural_parser from structural_iterator
2020-06-08 15:21:54 -07:00
John Keiser
a1aea4588f
Move document stream state to implementation
2020-06-08 15:21:54 -07:00
John Keiser
1d4fffb799
Fix fallback implementation
2020-06-08 15:21:52 -07:00
John Keiser
6f90f5dc5f
Remove templating from finish() method
2020-06-08 15:20:56 -07:00
John Keiser
9dd6972d26
Remove impossible checks, add EMPTY check to normal parser
2020-06-08 15:20:56 -07:00
John Keiser
d731a7d52c
Privatize structural_parser
2020-06-08 15:20:56 -07:00
John Keiser
059468b74e
Eliminate streaming_structural_parser subclass with templates
2020-06-08 15:20:56 -07:00
John Keiser
5e69fb782a
Call a function to parse structurals
2020-06-08 15:20:56 -07:00
John Keiser
a5beffda78
Remove streaming_structural_parser.h
2020-06-08 15:20:56 -07:00
John Keiser
7de7ce5fdc
Move document stream state to implementation
2020-06-08 15:20:56 -07:00
John Keiser
383e8c7f68
Merge pull request #913 from simdjson/jkeiser/internal-streaming
...
[1/4] Simplify parse_many() and fix bugs
2020-06-08 15:19:27 -07:00
John Keiser
0dbda65e44
Fix fallback implementation
2020-06-08 14:52:23 -07:00
John Keiser
fe01da077e
Make threaded version work again
2020-06-07 16:21:00 -07:00
John Keiser
d43a4e9df9
Remove SUCCESS_AND_HAS_MORE (internal only value)
2020-06-07 16:20:55 -07:00
John Keiser
3e226795f0
Run all passing json against parse_many. Empty documents pass, too.
2020-06-07 16:20:51 -07:00
John Keiser
c4a0fe1606
Add tests for parse_many() errors
2020-06-07 16:20:46 -07:00
John Keiser
ef63a84a3e
Move document stream state to implementation
2020-06-07 16:20:44 -07:00
John Keiser
8c16ba372e
Acknowledge that we always have a remainder
2020-06-06 16:46:38 -07:00
John Keiser
9be4a17687
Separate definition from declaration, arrange top down
2020-06-06 16:46:38 -07:00
Furkan
89332e1696
Temporary fix to #914 ( #917 )
2020-06-05 21:01:41 -04:00
John Keiser
8a56129def
Merge pull request #916 from simdjson/jkeiser/issue906stage2
...
Move unclosed array check to stage 2
2020-06-05 14:23:44 -07:00
John Keiser
ed0c815735
Move unclosed array check to stage 2
2020-06-05 12:39:13 -07:00
Daniel Lemire
7a69da16e4
Fixing issue 906 ( #912 )
...
* Fixing issue 906
* Safe patching.
* Now with explanations.
* Bumping up memory allocation.
* Putting the patch back.
* fallback fixes.
Co-authored-by: Daniel Lemire <lemire@gmai.com>
2020-06-05 15:37:09 -04:00
Daniel Lemire
351717414d
updating docker with instructions... ( #901 )
...
* Better dockerfile with instructions.
* Typo.
2020-06-04 20:06:29 -04:00
Daniel Lemire
52f44de257
This introduces a tiny simplification in number parsing. ( #910 )
...
* This introduces a tiny simplification in number parsing.
* Removing unnecessary function.
Co-authored-by: Daniel Lemire <lemire@gmai.com>
2020-06-04 17:13:02 -04:00
John Keiser
ae6dddfff4
Merge pull request #903 from simdjson/jkeiser/dom-parser-implementation
...
Move parser state to implementation-specific class
2020-06-04 13:09:57 -07:00
Daniel Lemire
539f555e23
We no longer use make
2020-06-02 16:45:30 -04:00
John Keiser
b75fa26dc1
Move containing_scope and ret_address to .cpp
2020-06-01 12:15:55 -07:00
John Keiser
3d22a2d845
One weird trick: set a bogus error value in the parser impl
...
This makes us faster under both gcc and clang somehow.
2020-06-01 12:15:55 -07:00
John Keiser
1aab4752e2
Store all parser state in the implementation
2020-06-01 12:15:54 -07:00
John Keiser
86f8a4a9d2
Don't set parser.valid or parser.error
...
This regresses performance and is ONLY here because the next
two commits are here; this lets us see the impact of removing
parser.error separately from the impact of the next commit.
2020-06-01 12:14:09 -07:00
John Keiser
db2cb061cb
Remove on_error function
...
Solely here to make the next patch smaller and more isolatable
2020-06-01 12:14:09 -07:00
John Keiser
6a71b24495
Reuse stored buf and len from parser
2020-06-01 12:14:09 -07:00
John Keiser
84712a8bbc
Store buf and len in parser implementation
2020-06-01 12:14:09 -07:00
John Keiser
b86fb95306
Rename doc_parser -> parser
2020-06-01 12:14:09 -07:00