Commit Graph

954 Commits

Author SHA1 Message Date
Daniel Lemire 5514ae3879 Adding another user. 2020-03-24 09:41:32 -04:00
Daniel Lemire 5af0dfb031
Putting back the fuzzer badge and extending the documentation. (#587) 2020-03-24 10:50:27 +01:00
Daniel Lemire d1eef242c6
Trying to give better guidance regarding large files. (#594) 2020-03-23 18:04:22 -04:00
John Keiser ceee00b276 Use c++ instead of g++ in quick start for clang 2020-03-23 14:59:13 -07:00
John Keiser 6c2ab064cb Correct quick start
Not sure how this update didn't make it in, but it's necessary.
2020-03-23 14:59:13 -07:00
Daniel Lemire 772a5dc3d5 Updated script so that we generate a small and a large file. 2020-03-23 14:06:10 -04:00
Daniel Lemire 3e39a998ce Merge branch 'master' of github.com:lemire/simdjson
Conflicts:
	include/simdjson/jsonstream.h
2020-03-22 12:40:34 -04:00
Daniel Lemire 2867dc50fa Minor typo. 2020-03-22 12:39:01 -04:00
Bruce Mitchener c3c43769ae Fix typos. 2020-03-22 09:14:14 -07:00
John Keiser 36ceaa4452 Keep loaded_bytes in parser to reduce allocation
Also centralized memory ownership to make it easy to keep data around
2020-03-21 18:12:16 -07:00
John Keiser c34b1a1b2a Organize basic tests to make easier to turn on/off 2020-03-21 18:12:16 -07:00
John Keiser e4df0ca368 Add parse, parse_many, load, load_many tests 2020-03-21 18:12:16 -07:00
Daniel Lemire 8a91cecf41 testing only with ok documents. 2020-03-21 18:12:16 -07:00
Daniel Lemire 04e8710cf5 Testing issue 570 2020-03-21 18:12:16 -07:00
John Keiser e8b3f9eaad Support document::parse("[1,2,3]"_padded) 2020-03-21 11:15:20 -07:00
Daniel Lemire 23d6ec6cff
Testing clang + libc++ (#579)
* Testing clang + libc++

* I love how docker makes permissions super complicated.
2020-03-21 11:23:11 -04:00
Daniel Lemire 0a6edae2dd
Removing oss-fuzz logo since it is not clear what it means. 2020-03-20 22:08:48 -04:00
Daniel Lemire 0e45663ce8
Quickstart and intro (#575)
* Add quickstart

* Fix amalgamation

Co-authored-by: John Keiser <john@johnkeiser.com>
2020-03-20 22:07:52 -04:00
Daniel Lemire 80a9f4defd
Updating appveyor 2020-03-20 16:59:47 -04:00
Daniel Lemire 8f1e4018c0
Updating drone link 2020-03-20 16:57:38 -04:00
Daniel Lemire afe36d0b36
Updating circleci link 2020-03-20 16:54:37 -04:00
Daniel Lemire 5d1e3efce8
faster minifier (#568)
* Fallback should use our scalar code.
* parse should have a nicer error message.
* Making it so that "minify" can use different architectures.
* Let us change the minifier competition so that it tests all implementations.
* Documenting the untaken optimization opportunity.

Co-authored-by: John Keiser <john@johnkeiser.com>
2020-03-20 16:14:47 -04:00
Daniel Lemire 293ec7aec5 Minor update. 2020-03-20 11:02:18 -04:00
Daniel Lemire 6cefeb338b
std::tie does not work on some compilers (#567)
* std::tie workaround.

* Cleaner solution
2020-03-19 16:56:45 -04:00
John Keiser f1744f5495 Break out string/structural scanning from tokenizer 2020-03-18 10:40:06 -07:00
Daniel Lemire 5750a173ff
We should not need to specify the architecture under ARM. (#564) 2020-03-18 08:24:21 -04:00
Daniel Lemire e3a4fd9f93 Minor tweaks on fallback. 2020-03-17 14:59:47 -07:00
John Keiser 5a071c1907 Remove TARGET_FALLBACK 2020-03-17 14:59:47 -07:00
John Keiser 7cf3a7511b Add fallback implementation to CI
- Also add SIMDJSON_IMPLEMENTATION_HASWELL/WESTMERE/ARM64/FALLBACK=1/0 to
enable/disable various implemnentations
2020-03-17 14:59:47 -07:00
John Keiser af203aaf86 Add fallback parser for pre-SSE4.2 machines 2020-03-17 14:59:47 -07:00
John Keiser 8e2c06cb0e Compile with -fno-exceptions 2020-03-17 13:54:37 -07:00
John Keiser 1a5d8f1957 Add tests for SIMDJSON_EXCEPTIONS=0, add `tie()` support 2020-03-17 13:54:37 -07:00
John Keiser 03c828c7ad Add SIMDJSON_EXCEPTIONS=ON to turn on exception interface 2020-03-17 13:54:37 -07:00
Daniel Lemire 758dc511fb Better comment. 2020-03-17 14:22:40 -04:00
Daniel Lemire 0164723a8e Adding comments. 2020-03-16 20:17:48 -04:00
Daniel Lemire 032936a7b5
Update README.md 2020-03-16 08:14:25 -04:00
Daniel Lemire da3e064fc7 Added a comment. 2020-03-15 22:35:21 -04:00
Daniel Lemire 317fc6ba0e
accurate number parsing (#558) 2020-03-15 22:30:21 -04:00
John Keiser 1aaad223c0 Simplify atom parsing 2020-03-13 19:00:08 -07:00
John Keiser 81c86d7090 Structural iterator 2020-03-13 19:00:08 -07:00
Daniel Lemire d9a9fd387d Adding a stress test. 2020-03-13 18:59:15 -07:00
John Keiser 0c190b165c Benchmark minify 2020-03-13 18:59:15 -07:00
John Keiser acc7bd79b0 Support cout << json, cout << minify(json) 2020-03-13 18:59:15 -07:00
John Keiser e4e89fe27a
Fix parse benchmarker (#554)
* Fix parse benchmarker

* Make CI fail when parse doesn't work
2020-03-13 16:19:21 -04:00
Daniel Lemire 24551db0c8 Fixing typo 2020-03-13 14:51:34 -04:00
Daniel Lemire 12e6611ba4 Fix for printf. 2020-03-13 14:44:21 -04:00
Daniel Lemire fb15886a1c Simple fix for name erasure. 2020-03-13 14:41:19 -04:00
Daniel Lemire 06c1dc3a29
Adding NDEBUG to release (#557)
* Adding NDEBUG to release

* Asserts are deleted with NDEBUG. We want hard asserts.
2020-03-13 14:37:02 -04:00
Daniel Lemire 89d9de2353
Adding a check to see whether document::stream copy constructor and assignment actually compile (#556)
* Currently, document::stream contains an attribute that is a reference:

```
      document::parser &parser;
```

Yet we try to have it default on the move operator:

```
  stream &operator=(document::stream &&other) = default;
  stream &operator=(const document::stream &) = delete; // Disallow copying
```

```
  stream(document::stream &&other) = default;
  stream(const document::stream &) = delete; // Disallow copying
```

I am not sure what the move is supposed to do with the reference.

I cannot find where we test the copy constructor and assignment. This has been concerned that it is either dead code or buggy code.

* Remove non-working, unnecessary move constructors

* We still want to disallow copies.

Co-authored-by: John Keiser <john@johnkeiser.com>
2020-03-13 12:53:42 -04:00
Daniel Lemire 12c85d3e23
If we are going to have a google benchmark flag, we better make sure … (#551)
* If we are going to have a google benchmark flag, we better make sure that we test it out minimal (it should build).

* Fix bench_dom_api

Co-authored-by: John Keiser <john@johnkeiser.com>
2020-03-12 17:48:30 -04:00