Daniel Lemire
c750095241
Trying to improve a bit. ( #791 )
...
* Trying to improve a bit.
* Correcting typo
2020-04-23 22:36:08 -04:00
John Keiser
66acab4130
Enable /sdl warnings on Windows
2020-04-23 15:12:21 -07:00
ostri
87acab0846
elimination of most of g++ -Weffc++ warnings ( #764 )
...
Co-authored-by: Matjaž Ostroveršnik <ostri@localhost.localdomain >
Co-authored-by: Daniel Lemire <lemire@gmail.com >
2020-04-23 10:06:44 -04:00
John Keiser
a198abc485
Use int as index to reduce cast operations
...
Decreases the number of instructions per block by almost 1
2020-04-22 14:21:33 -07:00
John Keiser
d4a37f6ef5
Enable conversion warnings on Linux and Windows
2020-04-22 14:21:30 -07:00
John Keiser
a116e68a47
Merge pull request #729 from simdjson/jkeiser/cmake-amalgamate
...
Add amalgamation support to cmake
2020-04-22 14:16:10 -07:00
Daniel Lemire
536fe28f8f
Being explicit regarding the initialization of two member variables. ( #765 )
2020-04-22 12:46:55 -04:00
Daniel Lemire
5f04208dbd
This removes the problematic use of the intrinsic _addcarry_u64 for Visual Studio ( #758 )
...
in the ARM 64-bit kernel. This intrinsic does not appear in the documentation
https://docs.microsoft.com/en-us/cpp/intrinsics/arm64-intrinsics?view=vs-2019
and should probably not be used. Note that we expect the compiler to produce
efficient code out of our implementation.
2020-04-21 17:13:22 -04:00
PavelP
ffaa292006
Master vs2019 x86 compile fixes ( #743 )
...
* Added bitexact implementations of _BitScanForward64 and _BitScanReverse64 for VS2019 32-bit builds
* Added bitexact implementations of _umul128 for VS2019 x86, arm, arm64 builds
* Implement mul_overflow for VS2019 arm64 builds
+ implement mul_overflow using __umulh (msvc/clang results: https://godbolt.org/z/smRwA7 )
* Added Win32 for VS2019 to .appveyor.yml
* Update amalgamated headers (fix x86 builds with VS2019)
2020-04-21 14:42:53 -04:00
John Keiser
d3e44b1108
Add amalgamation support to cmake
2020-04-20 19:50:51 -07:00
John Keiser
fbf274a42b
Merge pull request #727 from simdjson/jkeiser/cmake-checkperf
...
Add checkperf to cmake
2020-04-20 19:45:45 -07:00
Daniel Lemire
3c1b403c4e
Fixing typo.
2020-04-20 18:19:38 -04:00
John Keiser
9bf9fba2ec
Add checkperf to cmake
2020-04-20 11:14:46 -07:00
John Keiser
22b9a53bef
Add SIMDJSON_FORCE_IMPLEMENTATION
2020-04-18 18:21:56 -07:00
John Keiser
289cc3e7a0
Treat warnings as errors during compilation
2020-04-15 19:59:38 -07:00
John Keiser
fd418f568c
Fix c++11 warnings on clang
...
- namespace x::y is C++17
- static_assert requires message in C++11
2020-04-15 17:27:48 -07: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
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
John Keiser
6835dd73bc
Only apply compile flags to simdjson
2020-04-09 08:52:29 -07:00
John Keiser
beaa6a9a7a
Create simdjson-windows-headers interface library
2020-04-08 14:52:56 -07:00
John Keiser
a9c8224f40
Add numberparsingcheck and stringparsingcheck tests
2020-04-08 14:52:56 -07:00
John Keiser
3dcc188d93
Add more tests to cmake
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
John Keiser
1e30b6e334
Compile under C++ 11
2020-04-08 14:00:13 -07:00
John Keiser
406240bae3
Support C++ 14
2020-04-08 14:00:13 -07:00
John Keiser
7656bd50ee
Generate API docs at /api/docs
2020-03-29 17:01:12 -07:00
John Keiser
03746b966b
Move document/element/etc. under dom
2020-03-28 13:42:21 -07: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
John Keiser
f1744f5495
Break out string/structural scanning from tokenizer
2020-03-18 10:40:06 -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
1a5d8f1957
Add tests for SIMDJSON_EXCEPTIONS=0, add tie() support
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
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
John Keiser
40c6213d7e
Add parser.load() and load_many() to load files
2020-03-11 17:19:41 -07:00
Daniel Lemire
f669aafcf2
Correcting typo
2020-03-09 17:55:26 -04:00
John Keiser
31e8a12e88
Make error_message(error_code) return C string
...
- Also move all error message logic to include inline
2020-03-06 15:41:51 -08:00
John Keiser
b2220d6157
Fix amalgamation
2020-03-05 11:13:25 -08:00
John Keiser
5ff941ae3d
Include <simdjson> directly, move document_parser_callbacks to top level
2020-03-04 14:26:54 -08:00
John Keiser
5525c6f729
Stop using jsoncharutils.h in JsonStream
2020-03-04 14:26:54 -08:00
John Keiser
eb147d9868
Mark jsonformatutils.h/isadetection.h internal
...
- Move jsonformatutils.h to internal/jsonformatutils.h (it is used by
document::print_json)
- Move isadetection.h to src/ (it is only used internally)
2020-03-04 14:26:54 -08:00
John Keiser
f58a5d534e
Move parser inline implementation to .cpp
2020-03-04 14:26:54 -08:00
John Keiser
b3ea8c406e
Add simdjson.cpp for unified use ( #515 )
2020-03-04 10:12:27 -08:00
John Keiser
99667f7c55
Create top level simdjson.h ( #515 )
...
- Allows everyone to #include the same way, singleheader or not.
2020-03-04 10:12:27 -08:00
John Keiser
0b21203141
Document navigation API
2020-03-02 14:49:03 -08:00