625 Commits

Author SHA1 Message Date
miloyip
a32e2ac1d0 Fix SIMD page fault by using aligned load 2014-07-29 16:05:54 +08:00
miloyip
fdd380bbc0 Added insitu parsing test for kParseStopWhenDoneFlag
Related to discussion in #83
2014-07-29 13:01:35 +08:00
Milo Yip
e6f344637b Merge pull request #83 from miloyip/issue75stopwhendone
Issue75stopwhendone
2014-07-28 18:45:06 +08:00
Milo Yip
c545895368 Merge pull request #84 from miloyip/issue79memorystreambuffer
Add MemoryBuffer and MemoryStream
2014-07-28 18:45:00 +08:00
Milo Yip
fe33a0178f Update readme.md 2014-07-28 13:21:31 +08:00
Milo Yip
b60bcc2762 Add MemoryBuffer and MemoryStream 2014-07-27 19:29:57 +08:00
Milo Yip
3d106085c1 Add a space in multiple root test for ensuring that whitespace is not consumed when done. 2014-07-27 17:29:03 +08:00
Milo Yip
e09b9d5c05 Merge remote-tracking branch 'origin/master' into issue75stopwhendone 2014-07-27 17:13:32 +08:00
Milo Yip
47849a2841 Merge pull request #81 from miloyip/IterativeParseOptimization
Iterative parse optimization
2014-07-27 17:13:05 +08:00
Milo Yip
c81386413b Add kParseStopWhenDoneFlag, its implementation and related unit tests 2014-07-27 17:10:32 +08:00
Milo Yip
2a389ad659 Merge remote-tracking branch 'origin/master' into IterativeParseOptimization 2014-07-27 15:50:16 +08:00
Milo Yip
c4ce48cde9 Merge pull request #80 from miloyip/issue31optimizeitoa
Issue31optimizeitoa
2014-07-27 15:49:36 +08:00
Milo Yip
857865a166 Fix parse error message 2014-07-27 00:36:23 +08:00
Milo Yip
8081e2a2c8 Add perf test cases for document using iterative parsing 2014-07-27 00:03:37 +08:00
Milo Yip
b99a515ef2 Define RAPIDJSON_FORCEINLINE for gcc
Performance boost a lot!
2014-07-26 23:23:52 +08:00
Milo Yip
58e0fb89b2 In iterative parsing, always use SizeType to prevent potential alignment problem on some platforms. 2014-07-26 22:21:06 +08:00
Milo Yip
7fa194d165 Force inline some suitable functions. 2014-07-26 21:56:11 +08:00
Milo Yip
6f382fd907 Cleanup code 2014-07-26 21:51:38 +08:00
Milo Yip
e3e8fea0f3 Remove stack size limit feature
It is not very useful for iterative parsing as the worst case of heap
size is O(n) where n is number of character in JSON, for the worst
synthetic cases. This is reasonable and should not create stack overflow
security problem as in recursive parsing.
2014-07-26 21:40:11 +08:00
Milo Yip
89865cb919 Use lookup table for Tokenize() 2014-07-26 21:23:37 +08:00
Milo Yip
01126defd2 Make Stack::Push() force inline in normal path 2014-07-26 20:28:35 +08:00
Milo Yip
e9597255b4 Make variables in Transit() more localized 2014-07-26 19:14:07 +08:00
Milo Yip
6f1646138a Fixes stack overflow 2014-07-25 00:59:19 +08:00
Milo Yip
86b2f51a58 Use branchlut implementation for itoa conversion. 2014-07-25 00:08:24 +08:00
Milo Yip
a7dca0d446 Update readme.md 2014-07-23 22:16:37 +08:00
Milo Yip
3ed9527c59 Merge pull request #78 from thebusytypist/TransitionTable
Supplemental documents for iterative parsing
2014-07-19 17:21:07 +08:00
thebusytypist
1ec83fb703 Use img attribute to specify height. 2014-07-19 13:27:39 +08:00
thebusytypist
f728f57275 Specify image height. 2014-07-19 13:21:53 +08:00
thebusytypist
1ed4a5ed84 Use html for scaled image. 2014-07-19 13:20:30 +08:00
thebusytypist
fab097f2f2 Fix unit of image size. 2014-07-19 13:16:31 +08:00
thebusytypist
dbc3653754 Change image size. 2014-07-19 13:14:26 +08:00
thebusytypist
5b549f1dce Elaborate the construction of state machine; add states diagram. 2014-07-19 13:12:13 +08:00
thebusytypist
03ecc2e4f8 Add TOC and missing hash tags. 2014-07-19 10:55:53 +08:00
thebusytypist
d29e5f96ad Add document for implementation of iterative parser. 2014-07-19 10:39:23 +08:00
Milo Yip
19a2279a85 Merge pull request #76 from thebusytypist/TransitionTable
Iterative Parsing (for issue #35)
2014-07-18 12:29:10 +08:00
thebusytypist
140dc0664e Fix compilation error(signed/unsigned comparison). 2014-07-18 01:08:07 +08:00
thebusytypist
afa59455a5 Fix compilation error(unused variable, signed/unsigned comparison). 2014-07-18 00:36:31 +08:00
thebusytypist
4a152646d9 Fix compilation error for gcc/clang. 2014-07-18 00:12:04 +08:00
miloyip
74a135678a Add VC itoa perf comparison 2014-07-17 17:47:51 +08:00
miloyip
e1cdf1229e Pass GCC compilation 2014-07-17 13:28:40 +08:00
Milo Yip
46eeb46a61 Implemented faster itoa with bit counting and reverse write 2014-07-17 02:26:20 +08:00
thebusytypist
fa25f93ddb Merge remote-tracking branch 'upstream/master' into TransitionTable 2014-07-16 23:16:33 +08:00
thebusytypist
c3d7d8b38a Revise unittests: should not expose implementation details. 2014-07-16 23:10:16 +08:00
thebusytypist
b22a89bf3f Reduce times of stack size check; reduce transition table size. 2014-07-16 22:09:50 +08:00
miloyip
8b963dc7ad Start benchmarking different itoa implementation 2014-07-16 19:14:00 +08:00
miloyip
9eda05c286 Fixes example code in encoding 2014-07-16 09:13:06 +08:00
Milo Yip
7cfe718d3d Minor update to encoding documentation 2014-07-16 01:56:11 +08:00
Milo Yip
e590e0757e Add missing hash tags 2014-07-16 01:21:51 +08:00
Milo Yip
649db917be Add encoding documentation 2014-07-16 01:09:30 +08:00
thebusytypist
1f53c6c041 Implement stack size limitation for iterative parsing. 2014-07-15 14:16:06 +08:00