Commit Graph

549 Commits

Author SHA1 Message Date
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
Daniel Lemire 3ce1dd8087 Cleaning. 2018-12-31 17:13:32 -05:00
Daniel Lemire d7d568ee89 Trying something else. 2018-12-31 16:25:37 -05:00
Daniel Lemire 3a2f746602 Trying with just a unified stage 3. 2018-12-31 14:03:43 -05:00
Daniel Lemire 0317287071 Minor fix 2018-12-31 11:59:12 -05:00
Daniel Lemire 58d41923fd
Porting to visual studio
Now builds on Visual Studio
2018-12-30 21:00:19 -05:00
Daniel Lemire 386bebb33b adding support for cmake. 2018-12-28 13:13:10 -05:00
Daniel Lemire 3b24ba9043 Adding cmake 2018-12-28 13:05:42 -05:00
Daniel Lemire 46ef59c679 Cleaning. 2018-12-27 20:19:10 -05:00
Daniel Lemire bf4089b33b Removing custom types (more standard code). 2018-12-27 20:09:25 -05:00
Daniel Lemire 20133963bc Trying a detailed analysis. 2018-12-19 21:23:37 -05:00
Daniel Lemire 0a109508de Added documentation of the tape format. 2018-12-18 15:09:27 -05:00
Daniel Lemire 779ce184fb Getting ready to document the tape format. 2018-12-18 14:21:22 -05:00
Daniel Lemire e8d3d784ab More fixing. 2018-12-10 22:21:03 -05:00
Daniel Lemire 058eb917d1 Better doc. 2018-12-10 22:00:16 -05:00
Daniel Lemire e4703a383b Even safer. 2018-12-10 20:54:31 -05:00
Daniel Lemire 8a2281269c Cleaning memset amd adding more tests. 2018-12-10 19:20:52 -05:00
Daniel Lemire 7296d4d48b Fixing... 2018-12-10 17:39:19 -05:00
Daniel Lemire 05636f3a1d Cleaning. 2018-12-10 16:47:02 -05:00
Daniel Lemire 176d2ccda4 Tweaking. 2018-12-10 14:25:49 -05:00
Daniel Lemire 9df22452af First API implementation. 2018-12-07 22:19:57 -05:00
Daniel Lemire c2913d5d69 Adding dynamic memory allocation. 2018-12-06 21:44:26 -05:00
Daniel Lemire e2d2d2f8ff Adding more tests. 2018-12-06 17:22:22 -05:00
Daniel Lemire e3a4b41c2e Cleaning. 2018-11-30 22:02:32 -05:00
Daniel Lemire c11eefca32 More cleaning. 2018-11-30 21:31:05 -05:00
Daniel Lemire 0e4804137c It still works. 2018-11-30 20:36:56 -05:00
Daniel Lemire a8b99984f2 Intermediate step. 2018-11-30 20:27:16 -05:00
Daniel Lemire e5707331e9 Some refactoring. 2018-11-30 09:37:57 -05:00
Daniel Lemire 12b518578d Ok, the new code seems quite fast. 2018-11-29 22:15:02 -05:00
Daniel Lemire ce85dd0c3a Still need to streamline number parsing. 2018-11-29 17:56:17 -05:00
Daniel Lemire c1de7662c1 Simplifying function call. 2018-11-28 11:12:28 -05:00
Daniel Lemire c1805783fc Tweaking performance. 2018-11-27 21:13:31 -05:00
Daniel Lemire 8648c4108e MOre cleaning. 2018-11-27 20:42:35 -05:00
Daniel Lemire 58ac242770 Ok. Let us benchmark this thing. 2018-11-27 15:05:50 -05:00
Daniel Lemire a43b0772e1 Lots and lots of cleaning. 2018-11-27 14:37:59 -05:00
Daniel Lemire 5fae7b2100 Still working 2018-11-27 10:10:39 -05:00
Daniel Lemire 50defa510f Stupid work. 2018-11-26 16:55:24 -05:00
Daniel Lemire 86a75462c5 Adding the ability of doing a dump. 2018-11-23 22:20:57 -05:00
Daniel Lemire 17f5d0517d Opting for a more common intrinsic. 2018-11-09 21:41:15 -05:00
Daniel Lemire 76074a821f Various cleaning steps. 2018-11-09 21:31:14 -05:00
Daniel Lemire 0e5b939568 Merge branch 'master' of github.com:lemire/simdjson 2018-11-09 15:16:25 -05:00
Daniel Lemire c1a7e79862 Lifting the mem limit. (Dirty commit.) 2018-11-09 15:16:05 -05:00
Daniel Lemire df65de4ae2 Tuning presentation and fixing a problem with minifier benchmark. 2018-10-23 21:36:32 -04:00
Daniel Lemire 8315f4c888 Cleaning up the code. 2018-10-17 21:31:22 -04:00
Daniel Lemire 35381279c3 Maybe we can do away with the fast ASCII trick. 2018-10-17 21:05:38 -04:00
Daniel Lemire e517414080 We include character-encoding validation. 2018-10-17 19:22:09 -04:00
Daniel Lemire 9fc8d8444b We want to allow more than just arrays and objects, as per the JSON spec. 2018-10-17 13:57:42 -04:00
Daniel Lemire 2ad9891b66 I think NO_PDEP_PLEASE should be defined by default. It seems
to be generally better/faster. More instructions, but also
more instructions per cycle, so it ends up being a net win.
2018-10-03 21:42:27 -04:00
Geoff Langdale ceb55cc8db Pick new number parser as winner; move string parsing to own header 2018-09-28 14:27:48 +10:00
Daniel Lemire e4094afe08 Moving toward having number-parsing testing. 2018-09-27 17:38:15 -04:00
Daniel Lemire 1c8339297d With new number parser (faster!). Removing the dependency on the doubleconv library (which proves to be useless). 2018-09-26 23:35:33 -04:00
Daniel Lemire 6239b9c13e Overallocation 2018-09-26 14:20:28 -04:00
Geoff Langdale 9f91650e72 Remove old 4-stage path. 2018-09-26 15:22:55 +10:00
Geoff Langdale b9706d462c Minor cleanups. 2018-09-26 15:09:54 +10:00
Geoff Langdale 36fadde3c7 Minor twiddles. 2018-09-26 13:52:05 +10:00
Geoff Langdale 0d5797a827 Wrap the tape dump in debug code. 2018-09-26 13:28:16 +10:00
Geoff Langdale e9586b6b4d Very first char is considered to follow "whitespace" for pseudo-structural character detection purposes 2018-09-26 13:27:39 +10:00
Geoff Langdale 35503f1d8f Oops noisy. 2018-09-26 13:21:05 +10:00
Geoff Langdale fa6c8990ff Added a terrifying hack to append a idx-to-0-char to stage 2 output. 2018-09-26 13:20:08 +10:00
Geoff Langdale 682c224d1a Merge branch 'master' of https://github.com/lemire/simdjson 2018-09-26 11:29:23 +10:00
Geoff Langdale b0c05c03cc Fix linkage between call sites and headers, add dump code, cleanup 2018-09-26 11:28:22 +10:00
Daniel Lemire dee1bbe54e Integrating the new 3-stage approach. 2018-09-25 17:26:58 -04:00
Geoff Langdale 555926849d Bug cleanup (many vestiges of old 32-bit tape stil there) and more encapsulation of tapes. 2018-09-25 16:24:39 +10:00
Geoff Langdale 8b2d00a337 Bug fix for ,] issue and cleanup. 2018-09-25 15:35:17 +10:00
Geoff Langdale 64d07cd04c Fix bug where strings were not parsed on 2nd and subsequent key:value pairs. 2018-09-24 15:16:22 +10:00
Geoff Langdale 77bfe6c984 Fix some bad messages and the failure to parse key strings. 2018-09-24 10:54:29 +10:00
Geoff Langdale 2a46b40457 Adding new stage34, a more straightforward replacement for stage 3 and 4 using a DFA and explicit stack 2018-09-24 10:44:05 +10:00
Geoff Langdale 01f191e5eb Merge branch 'master' of https://github.com/lemire/simdjson 2018-09-24 10:43:10 +10:00
Geoff Langdale 053f04b15d Crude first cut of "stage34", a unified code-based DFA with explicit stack for stages 3 and 4. 2018-09-24 10:42:30 +10:00
Daniel Lemire 9d4f9e46f9 Some comments. 2018-09-16 16:40:59 -04:00
Daniel Lemire 2aa6b93a02 Using a naive strtoll 2018-08-28 22:37:11 -04:00
Daniel Lemire 0b2f9747f8 Check that numbers starting with 0 are followed by decimal, e, E or
they just end the number (0). Note that we allow -0. I guess.
2018-08-28 20:41:55 -04:00
Daniel Lemire e104c020ef Versions of the code that use Google DoubleConv. 2018-08-24 20:49:45 -04:00
Daniel Lemire 6807abff96 Made the code safer (at the expense of the memory usage). 2018-08-24 13:20:20 -04:00
Daniel Lemire 94ea7cefb0 Moving include files into a sensible subdirectory. 2018-08-20 17:51:38 -04:00
Daniel Lemire ef0d14c35c Minor fixes + new scripts. 2018-08-20 17:40:50 -04:00
Daniel Lemire fb65be64bb Major surgery. 2018-08-20 17:27:25 -04:00
Daniel Lemire 726eb5a030 Moved the files into subdirectories. 2018-08-20 14:45:51 -04:00