Daniel Lemire
e030f02776
Merge branch 'master' into jkeiser/wconversion
2020-04-22 22:03:34 -04:00
Daniel Lemire
80dbf9a32a
We should not enable checkperf on anything but Linux. ( #762 )
2020-04-22 21:54:03 -04:00
John Keiser
d4a37f6ef5
Enable conversion warnings on Linux and Windows
2020-04-22 14:21:30 -07:00
John Keiser
3091e2dc0e
Add fallback, westmere and unthreaded checkperf
2020-04-20 11:18:40 -07:00
John Keiser
fc50a36cc5
Make checkperf build master with the same options
2020-04-20 11:14:46 -07:00
John Keiser
9bf9fba2ec
Add checkperf to cmake
2020-04-20 11:14:46 -07:00
John Keiser
289cc3e7a0
Treat warnings as errors during compilation
2020-04-15 19:59:38 -07:00
John Keiser
7480b87e07
Merge pull request #693 from simdjson/jkeiser/cmake-quickstartcpp
...
Add C++11 tests to cmake
2020-04-15 19:53:14 -07:00
Daniel Lemire
befa6423be
This massively improves the performance of tight loops relying on a type() call. ( #721 )
...
* This massively improves the performance of tight loops relying on a type() call.
* Adding a few more benchmarks
2020-04-15 20:45:40 -04:00
John Keiser
09cf18a646
Add C++11 tests to cmake
...
- Add simdjson-flags target so callers don't have flags forced on them
2020-04-15 17:26:25 -07:00
Daniel Lemire
326c175dcb
Massive performance boost for get<double>. ( #719 )
...
* Massive performance boost for get<double>.
2020-04-15 20:09:45 -04:00
Daniel Lemire
6d7c77ddc1
Let us try to check with the exceptions disabled. ( #707 )
...
* Tweaking code so that we can run all tests with exceptions off.
* Removing SIMDJSON_DISABLE_EXCEPTIONS
2020-04-15 16:45:36 -04:00
Daniel Lemire
b523c43927
Can we provide a size() function to arrays and objects? (eager approach) [TO BE MERGED] ( #690 )
...
* This is an implementation of "size()" for arrays and objects.
* Adding benchmark
* Adding a size() remark in the documentation.
* Extending size() to result types.
2020-04-15 10:15:48 -04:00
Paul Dreik
75545ff70d
ref qualify parser methods to avoid use of dangling objects ( #703 )
...
To avoid using data belonging to a temporary, the parse functions are ref qualified to get a compile error if used on an rvalue. See https://github.com/simdjson/simdjson/issues/696
Compilation tests are also added, to make sure bad usage fails to compile.
Reviewed by jkeiser.
2020-04-15 09:57:52 +02:00
John Keiser
7317fe1440
Don't reinitialize submodules
...
Add ability to turn competitive benchmarks off (no need for submodules)
2020-04-09 08:52:29 -07:00
John Keiser
7b58fea911
Add benchmark competitions to cmake
2020-04-09 08:52:29 -07:00
John Keiser
6dabfa176a
Add competition libraries
2020-04-09 08:52:29 -07:00
John Keiser
3dcc188d93
Add more tests to cmake
2020-04-08 14:52:56 -07:00
John Keiser
10b7556a37
Specify cmake tests, benchmarks and tools idiomatically
2020-04-08 14:52:56 -07:00
John Keiser
54b7291c34
Reference simdjson by name, don't specify include files individually
2020-04-08 14:52:55 -07:00
Daniel Lemire
21dce6cca9
Displaying the numbers of documents parsed per second ( #652 )
...
* Some users are interested, as a metric, in the number of documents parsed per second.
Obviously, this means reusing the same parser again and again.
* Adding a sentence
* This update the parsingcompetition benchmark so that it displays the number of documents parsed per second.
2020-03-30 17:51:03 -04:00
John Keiser
d93af1161d
Remove set_capacity, replace with allocate
...
Makes allocation point more predictable
2020-03-30 13:49:54 -07:00
John Keiser
434776db1a
Deprecate more things
2020-03-30 13:48:43 -07:00
John Keiser
622d9c9480
Replace as_X and is_X with get<T> and is<T>
2020-03-28 15:29:53 -07:00
John Keiser
03746b966b
Move document/element/etc. under dom
2020-03-28 13:42:21 -07:00
Daniel Lemire
450e19858b
Minor fix to distinctuseridcompetition
2020-03-28 15:56:10 -04:00
John Keiser
e836c28008
Deprecate parser error code methods
...
- Also make competitions compile without warnings
2020-03-28 10:13:20 -07:00
John Keiser
5ad405006c
Return document::element from parse, load, parse_many, load_many
2020-03-27 12:24:41 -07:00
John Keiser
2e420169c3
Remove document::parse and document::load
2020-03-26 10:13:09 -07:00
Daniel Lemire
ab0e22a316
Trying to migrate distinctuseridcompetition to new API. ( #624 )
...
* Trying to migrate distinctuseridcompetition to new API.
* Ok. Good performance + got rid of old API.
2020-03-26 12:06:28 -04:00
John Keiser
a0bce440a6
Remove document_iterator, document::iterator, ParsedJsonIterator
...
Keep ParsedJson::Iterator only, without template, in same form as
it was in 0.2
2020-03-25 18:26:51 -07:00
Daniel Lemire
1cf4fe405d
Fixing issue 602 ( #621 )
2020-03-25 21:06:20 -04:00
Daniel Lemire
6b8f5d3354
Fixing issue 601 ( #618 )
...
* Fixing issue 601
2020-03-25 20:44:55 -04:00
John Keiser
d5af359365
Fix compile error in master ( #619 )
2020-03-25 20:11:23 -04:00
Daniel Lemire
d84e70b6e5
migrating minifier competition to new API ( #597 )
...
* Migrating minifiercompetition to new API.
2020-03-24 10:13:55 -04:00
Daniel Lemire
7ff034504d
Migrating parsingcompetition to new API. ( #593 )
...
* Migrating parsingcompetition to new API.
* Removing ParsedJson
2020-03-24 10:06:44 -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
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
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
Daniel Lemire
317fc6ba0e
accurate number parsing ( #558 )
2020-03-15 22:30:21 -04:00
John Keiser
0c190b165c
Benchmark minify
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
fb15886a1c
Simple fix for name erasure.
2020-03-13 14:41:19 -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
John Keiser
a5afec1f94
Make #defines into simdjson::constants
2020-03-11 19:16:29 -07:00
John Keiser
40c6213d7e
Add parser.load() and load_many() to load files
2020-03-11 17:19:41 -07:00
John Keiser
d140bc23f5
Automatically allocate memory as needed in parse
2020-03-11 16:14:54 -07:00
John Keiser
00f0859e1f
Add ability to run multiple files
2020-03-11 16:05:05 -07:00