Commit graph

545 commits

Author SHA1 Message Date
Ferdinand Majerech 755eb4e468 Moved common FastCharSearch instantiations to Scanner body to minimize bloat. 2014-08-05 21:30:59 +02:00
Ferdinand Majerech d505728824 Moved a branch outside of aloop in scanPlain() to improve performance. 2014-08-05 20:58:05 +02:00
Ferdinand Majerech 57d936ed0f Scanner using prefixBytes() for optimization. 2014-08-05 20:57:30 +02:00
Ferdinand Majerech 3b303f6e82 An ASCII (bytes) version of prefix(). 2014-08-05 20:56:59 +02:00
Ferdinand Majerech 8f94a40730 Doc fixes. 2014-08-05 20:56:30 +02:00
Ferdinand Majerech 568e75d3de Removed decodeCount_, as it's no longer used. 2014-08-05 20:53:04 +02:00
Ferdinand Majerech 2b7ea42199 Removed the old (obsolete) Reader decoding method. 2014-08-05 20:52:43 +02:00
Ferdinand Majerech 92396b4cae An optimized version of forward() with length == 1. 2014-08-05 20:52:05 +02:00
Ferdinand Majerech 34e6f55bd9 forward() now uses upcomingASCII_ 2014-08-05 20:46:00 +02:00
Ferdinand Majerech c828c6b132 peek()/slice() now use upcomingASCII() 2014-08-05 20:44:15 +02:00
Ferdinand Majerech d9079de427 get() now calls slice() directly instead of through prefix(). 2014-08-05 20:42:51 +02:00
Ferdinand Majerech bfa2f1bd5c Using checkASCII in Reader. 2014-08-05 20:42:22 +02:00
Ferdinand Majerech e01c40ede5 Func to count consecutive ASCII chars starting at current Reader position. 2014-08-05 20:36:33 +02:00
Ferdinand Majerech 7409f3bbd9 ASCII optimizations for isPrintableValidUTF8. 2014-08-05 19:34:28 +02:00
Ferdinand Majerech 1c0702f3cd Func to count the num of ASCII chars in string before the first UTF-8 sequence 2014-08-05 19:12:54 +02:00
Ferdinand Majerech 8902ea8806 Minor optimization. 2014-08-05 18:21:42 +02:00
Ferdinand Majerech b2d0c74e56 Minor style fix. 2014-08-05 18:21:29 +02:00
Ferdinand Majerech a89f9e93f7 Removed unnecessary memory allocations in Queue. 2014-08-05 18:20:57 +02:00
Ferdinand Majerech a9333e3dd3 Fixed another 'in' parameter. 2014-08-05 18:15:07 +02:00
Ferdinand Majerech 9e573d85c7 .gitignore update. 2014-08-05 13:16:24 +02:00
Ferdinand Majerech 9ea269de87 Removed obsolete 'final' from Reader methods. 2014-08-05 13:14:42 +02:00
Ferdinand Majerech 3d8de67771 Using peekByte() where possible in Scanner. 2014-08-05 13:14:15 +02:00
Ferdinand Majerech 078269be36 Queue no longer supports types with destructors. 2014-08-05 13:12:07 +02:00
Ferdinand Majerech 7539b40d3d (optimization) Mark ctor now doesn't check file column for overflow. 2014-08-05 13:10:52 +02:00
Ferdinand Majerech 57afd47bb5 Doc fixes. 2014-08-05 01:53:17 +02:00
Ferdinand Majerech fb9525bb00 Obsoleting decodeCount_. 2014-08-05 01:52:21 +02:00
Ferdinand Majerech 75ed314dd6 More FastCharSearch. 2014-08-05 01:51:32 +02:00
Ferdinand Majerech 0424ff5e77 Style. 2014-08-05 01:51:20 +02:00
Ferdinand Majerech 44885cde4e Optimized fetchToken() 2014-08-04 02:26:14 +02:00
Ferdinand Majerech 7360e85a3a More FastCharSearch based on profiling results. 2014-08-04 02:24:26 +02:00
Ferdinand Majerech 5a1e6e994d Fixed a nasty rare bug caused by an assumption that 32 chars take 32 bytes. 2014-08-04 02:23:08 +02:00
Ferdinand Majerech 20048ea995 Using peekByte() in heavily used Scanner methods. 2014-08-04 02:22:09 +02:00
Ferdinand Majerech 8e63f62d7e An optimized version of peek() that reads a byte, without decoding. 2014-08-04 02:20:13 +02:00
Ferdinand Majerech a4befdd866 An optimized version of Reader.peek() with index == 0. 2014-08-04 02:19:34 +02:00
Ferdinand Majerech 063d9754d7 Queue now uses a freelist to minimize allocations. 2014-08-04 02:16:34 +02:00
Ferdinand Majerech 1f55fccc26 Updated yaml_bench to benchmark parsing, not Loader construction. 2014-08-04 02:14:37 +02:00
Ferdinand Majerech 97e717df1b Loader creates Constructor/Resolver lazily to avoid garbage when user-provided 2014-08-04 02:14:01 +02:00
Ferdinand Majerech 46a574c0b4 Fixed a typo. 2014-08-04 02:13:06 +02:00
Ferdinand Majerech 760e39479e yaml_gen now gens strings with user-specified alphabet, with Unicode support. 2014-08-02 23:29:55 +02:00
Ferdinand Majerech af4245811a yaml_gen optimization. 2014-08-02 23:28:45 +02:00
Ferdinand Majerech 85b89d3323 yaml_gen should no longer generate maps/omaps with duplicate keys. 2014-08-02 23:28:33 +02:00
Ferdinand Majerech 0d89c2beb1 yaml_bench Scanner benchmark, and files are not realoaded from HDD by default. 2014-08-02 23:27:44 +02:00
Ferdinand Majerech 6aa50b8898 A benchmark Loader method that scans a file but throws away the tokens. 2014-08-02 23:26:46 +02:00
Ferdinand Majerech c160156346 Fixed the string->char[] Token value move. 2014-08-02 23:25:56 +02:00
Ferdinand Majerech aeee0758a7 Refactored FastCharSearch with more modern string mixin code. 2014-08-02 02:35:03 +02:00
Ferdinand Majerech d32addacda Slices now nonconst in all layers up to Parser, where they get cast to string. 2014-08-02 01:58:20 +02:00
Ferdinand Majerech 7b699c5903 UTF-8 validation now uses UTF-8 decoding code. 2014-08-02 01:37:16 +02:00
Ferdinand Majerech b5da695d6b More @nogc in Scanner. 2014-08-02 01:19:29 +02:00
Ferdinand Majerech e6fdade4a6 Scanner now uses @nogc UTF decoding. 2014-08-02 01:16:29 +02:00
Ferdinand Majerech e1209711af UTF-8 decoding now has versions for validated and unvalidated strings. 2014-08-02 01:15:57 +02:00