418 Commits

Author SHA1 Message Date
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
miloyip
54a5d10349 Merge branch 'issue69writeescapeunicode' 2014-07-15 09:20:45 +08:00
miloyip
9974e35578 Merge conflicts and suppress VC warnings 2014-07-15 09:20:19 +08:00
Milo Yip
2d732794f0 Merge pull request #74 from miloyip/issue71endianness
Improves endian detection
2014-07-15 09:00:10 +08:00
Milo Yip
c5a4926b7a Merge pull request #67 from miloyip/issue66writerassertion
Fix #66 by adding Writer::Reset() and Writer::IsComplete()
2014-07-15 08:59:45 +08:00
thebusytypist
46e89dad0d Add unittests for kParserErrorTermination; Fix bugs in last merge. 2014-07-15 00:51:34 +08:00
thebusytypist
d4da07c5fb Merge upstream/master. 2014-07-14 23:49:57 +08:00