Daniel Lemire
3e35729eb6
Merge pull request #968 from simdjson/issue961
...
Fixing issue 961
2020-06-23 19:48:43 -04:00
Daniel Lemire
7e94309046
Update basics.md
2020-06-23 19:08:14 -04:00
Daniel Lemire
c8a70a0a73
Tweaking the documentation.
2020-06-23 14:39:16 -04:00
Daniel Lemire
b84a3a0230
Merge branch 'master' into issue961
2020-06-23 14:33:06 -04:00
Daniel Lemire
8cc9f496ee
Merge branch 'master' into dlemire/improving_documentation
2020-06-23 13:07:29 -04:00
Daniel Lemire
1547f2ec80
Pleasing John
2020-06-23 13:05:19 -04:00
John Keiser
c650ea9765
Merge pull request #960 from simdjson/jkeiser/idiomatic-get
...
Convert simdjson to use .get()
2020-06-23 09:49:41 -07:00
John Keiser
eef1171944
Merge pull request #954 from simdjson/jkeiser/parse-many-result
...
Return error from parse_many
2020-06-23 09:06:20 -07:00
John Keiser
12ccdcf858
Include document_stream line in parse_many docs
2020-06-23 08:49:47 -07:00
Daniel Lemire
696b0e29e4
Fixing issue 961
2020-06-23 10:47:32 -04:00
Daniel Lemire
5eb748ae17
This improves slightly the documentation, adding instructions for CMake users.
2020-06-23 09:33:15 -04:00
Daniel Lemire
89c2582376
Extending the documentation.
2020-06-22 16:32:00 -04:00
Daniel Lemire
a76c67c19f
Fixing...
2020-06-22 15:57:54 -04:00
John Keiser
1ff55c2729
Replace auto [x,error] with .get() everywhere
2020-06-21 16:26:59 -07:00
Daniel Lemire
38bb08778a
With an example.
2020-06-21 17:57:22 -04:00
John Keiser
6fa5abcd7e
Replace x.get<T>() with x.get(v) or T(x)
2020-06-21 14:36:38 -07:00
John Keiser
a7fc7d4ffb
Switch from get(v,e) to e = get(v)
2020-06-20 17:57:09 -07:00
John Keiser
f336103f63
Convert tools/docs/benchmarks to bool get() idiom
2020-06-20 17:55:46 -07:00
John Keiser
56e2b38048
Add bool result from tie()/get(), get<T>(T&,error_code&)
2020-06-20 17:55:46 -07:00
Daniel Lemire
5ccdbef7d5
Merge pull request #936 from simdjson/dlemire/new_examples
...
New examples.
2020-06-18 18:29:06 -04:00
John Keiser
f632e7c043
Put C++11 capable version back, change name to readme style
2020-06-18 12:50:49 -07:00
Daniel Lemire
3f00e79bcb
Merge branch 'master' into dlemire/better_doxygen_home_page
2020-06-17 16:02:49 -04:00
Daniel Lemire
14ceacac73
Tweaking.
2020-06-17 13:27:17 -04:00
Daniel Lemire
4474f8ef18
Cleaning a bit the examples.
2020-06-17 16:24:55 +00:00
Daniel Lemire
b5ea504ad2
Tweaks doxygen so that we have a better main page.
2020-06-17 11:07:21 -04:00
Daniel Lemire
27a75a9085
Tweaking.
2020-06-15 17:54:34 -04:00
Daniel Lemire
954d6c326d
New examples.
2020-06-15 17:45:15 -04:00
Daniel Lemire
16f41ea059
Added a word.
2020-06-14 18:48:42 -04:00
Daniel Lemire
0a7270fc29
More tweaks.
2020-06-14 18:47:22 -04:00
Daniel Lemire
23fbd9d004
Some tweaks.
2020-06-14 18:28:09 -04:00
John Keiser
fd44c2a2ff
Merge pull request #927 from simdjson/dlemire/exposingthestringminifier
...
Exposing the string minifier.
2020-06-13 07:47:20 -07:00
John Keiser
a86a82b39c
Rename minify class to minifier so the minify() method is cleared up
2020-06-12 17:05:25 -07:00
Daniel Lemire
4dfbf98e4e
Using a worker instead of a thread per batch ( #920 )
...
In the parse_many function, we have one thread doing the stage 1, while the main thread does stage 2. So if stage 1 and stage 2 take half the time, the parse_many could run at twice the speed. It is unlikely to do so. Still, we see benefits of about 40% due to threading.
To achieve this interleaving, we load the data in batches (blocks) of some size. In the current code (master), we create a new thread for each batch. Thread creation is expensive so our approach only works over sizeable batches. This PR improves things and makes parse_many faster when using small batches.
This fixes our parse_stream benchmark which is just busted.
This replaces the one-thread per batch routine by a worker object that reuses the same thread. In benchmarks, this allows us to get the same maximal speed, but with smaller processing blocks. It does not help much with larger blocks because the cost of the thread create gets amortized efficiently.
This PR makes parse_many beneficial over small datasets. It also makes us less dependent on the thread creation time.
Unfortunately, it is going to be difficult to say anything definitive in general. The cost of creating a thread varies widely depending on the OS. On some systems, it might be cheap, in others very expensive. It should be expected that the new code will depend less drastically on the performances of the underlying system, since we create juste one thread.
Co-authored-by: John Keiser <john@johnkeiser.com>
Co-authored-by: Daniel Lemire <lemire@gmai.com>
2020-06-12 16:51:18 -04:00
Daniel Lemire
be707dbb6f
Added a remark
2020-06-12 16:07:34 -04: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
John Keiser
e6c9dfbd91
Make include files more fine-grained
2020-05-19 14:42:04 -07:00
Daniel Lemire
fa4ce6a8bc
There is confusion between gigabytes and gigibytes. Let us standardize throughout. ( #838 )
...
* There is confusion between gigabytes and gigibytes.
* Trying to be consistent.
2020-05-01 12:16:18 -04:00
Daniel Lemire
2a1f8fa8f1
Provides support for clang under Windows. ( #817 )
2020-04-27 22:09:27 -04:00
Daniel Lemire
04e47bde84
Update basics.md
2020-04-27 16:16:40 -04:00
Daniel Lemire
76314280cb
Update basics.md
2020-04-25 11:24:41 -04:00
Daniel Lemire
d6716218bd
details.
2020-04-24 20:12:02 -04:00
Daniel Lemire
ac0e6c5e6e
Update basics.md
2020-04-23 22:01:20 -04:00
Daniel Lemire
f397b6fedf
Another example. ( #790 )
...
* Another example.
* Adding a reference to error chaining.
2020-04-23 21:48:41 -04:00
Daniel Lemire
4f72d5cfac
This adds another example ( #785 )
2020-04-23 18:29:28 -04:00
Daniel Lemire
f0ac55ec0c
testing on freebsd ( #768 )
...
* Adding cirrus tests
* Adding cirrus badge.
2020-04-22 21:22:09 -04:00
Daniel Lemire
d94cd65dfd
We used to have a requirements section which went away. I think it is required. ( #749 )
2020-04-20 19:03:26 -04:00
Daniel Lemire
38289fe381
Tweaking a sentence ( #747 )
2020-04-20 11:46:02 -04:00
John Keiser
289cc3e7a0
Treat warnings as errors during compilation
2020-04-15 19:59:38 -07: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