Maurice Makaay
|
acdf83332b
|
Use pointers instead of values, since we're updating the structs.
|
2019-07-20 11:50:36 +00:00 |
Maurice Makaay
|
7998d05113
|
More efficient version of MatchOctet.
|
2019-07-20 01:50:12 +00:00 |
Maurice Makaay
|
0c057e4a9a
|
Split up the api.go into three files: api.go, api_input.go and api_output.go. This makes it easier to manage the individual code sets.
|
2019-07-20 00:48:11 +00:00 |
Maurice Makaay
|
93c75af87f
|
Moved Input and Output related fields from the API to their respective sub-structs.
|
2019-07-20 00:28:37 +00:00 |
Maurice Makaay
|
7d2d8dbed3
|
Moved input-related functions to their own API.Input struct.
|
2019-07-19 23:41:15 +00:00 |
Maurice Makaay
|
9d98c9dff7
|
Moving output functions to its own substruct of the API.
|
2019-07-19 22:57:06 +00:00 |
Maurice Makaay
|
458d6f60a6
|
A nice performance gain by making a difference between AcceptRunes/AcceptBytes and the new simpler AcceptRune/AcceptByte functions. The simpler versions are faster when only accepting a single byte or rune (which is the case in most situations).
|
2019-07-19 21:13:15 +00:00 |
Maurice Makaay
|
9a53ea9012
|
Working on API speed.
|
2019-07-19 14:44:44 +00:00 |
Maurice Makaay
|
31055a3cd3
|
Bugfix for parsekit.read: when filling the buffer, the read offset was not taken into account for determining how many bytes could be read.
|
2019-07-19 10:13:32 +00:00 |
Maurice Makaay
|
3f9c745ac4
|
Unit tests improved for the parsekit.read package.
|
2019-07-19 09:50:42 +00:00 |
Maurice Makaay
|
22bcf4677e
|
Some work on simlifying the reader code, to see if I can squeeze some more performance out of that part.
|
2019-07-19 08:47:13 +00:00 |
Maurice Makaay
|
1771e237c0
|
Switched to a []byte backing store instead of []rune for collecting input data (we can use both bytes and runes for input in an easy way now)
|
2019-07-18 09:26:11 +00:00 |
Maurice Makaay
|
b9eeac3480
|
Work in progress on switching to byte stack. Committing to do some performance checks against master.
|
2019-07-18 08:06:26 +00:00 |
Maurice Makaay
|
e659380a5f
|
Implemented an efficient M.DropUntilEndOfLine handler, which is now used in the TOML parser for a dramatic speed increase on comment parsing.
|
2019-07-17 23:51:37 +00:00 |
Maurice Makaay
|
64f92696b2
|
Fixed unit tests for the new allocation behavior.
|
2019-07-17 23:03:14 +00:00 |
Maurice Makaay
|
0a4e44b8f8
|
Allow for bufio Readers that deliver data in chunks (like our unit test Reader)
|
2019-07-17 23:03:00 +00:00 |
Maurice Makaay
|
6d3eacdcae
|
Allocate read buffer in 1024 byte chunks, and read the data in chunks as well. This is more efficient than reading byte by byte.
|
2019-07-17 22:12:37 +00:00 |
Maurice Makaay
|
5e3e4b0f0a
|
Yay! First version for which parsing long.toml drops below 100ms! Got an outcome of 93ms. Almost down to BurntSushi's speed level, but still with a generic parser backing. Looking good!!
|
2019-07-16 23:34:01 +00:00 |
Maurice Makaay
|
ddd0ed49f6
|
Don't resize the stack slices, since we keep track of their starts and ends anyway.
|
2019-07-16 12:19:50 +00:00 |
Maurice Makaay
|
06faabdfe2
|
Small bugfix for the rune-to-byte-fallback code and added byte-support to the Str and StrNoCase matchers.
|
2019-07-16 07:35:06 +00:00 |
Maurice Makaay
|
4cfdbafa6e
|
Further switching to byte-based input handling.
|
2019-07-16 07:05:10 +00:00 |
Maurice Makaay
|
0362763e83
|
Switched to byte input for built-in tokenize.Handler functions.
|
2019-07-15 22:48:00 +00:00 |
Maurice Makaay
|
d4492e4f0a
|
Bytes reader working, now carry on switching to byte reading in the tokenizer code.
|
2019-07-15 20:03:05 +00:00 |
Maurice Makaay
|
17935b7534
|
Further performance optimization and code cleanup.
|
2019-07-12 21:32:40 +00:00 |
Maurice Makaay
|
56b8df3aab
|
Removed loop protection code. This is useful, but it puts a performance burden on the code when doing it by keeping track of actual callers through the call stack. Maybe to be reintroduced in a future version with something like a simple counter and a maximum depth-style protection.
|
2019-07-12 12:33:18 +00:00 |
Maurice Makaay
|
09746c0d2e
|
Speeding up the code some more. Big step was made by simplifying the cursor, continuing with that in the next commit.
|
2019-07-12 08:02:04 +00:00 |
Maurice Makaay
|
7116aa47df
|
Squishing out more performance.
|
2019-07-12 00:21:02 +00:00 |
Maurice Makaay
|
a4eda45d2c
|
Made all unit tests work again.
|
2019-07-11 14:55:08 +00:00 |
Maurice Makaay
|
3c9a678d7a
|
Fixed the ModifyDrop() behavior. It worked, but it caused memory build-up in the old implementation.
|
2019-07-11 14:52:12 +00:00 |
Maurice Makaay
|
c532af67ca
|
Optimization round completed (for now :-) All tests successful.
|
2019-07-11 12:43:57 +00:00 |
Maurice Makaay
|
7598b62dd0
|
Finalized the work-through of the new version of the tokenizer code.
|
2019-07-10 20:36:21 +00:00 |
Maurice Makaay
|
48d7fda9f8
|
New implementation for performance.
|
2019-07-10 11:26:47 +00:00 |
Maurice Makaay
|
7795588fe6
|
Speed improvement work.
|
2019-07-08 21:57:32 +00:00 |
Maurice Makaay
|
5fa0b5eace
|
Backup work on performance improvements.
|
2019-07-08 14:31:01 +00:00 |
Maurice Makaay
|
23ca3501e1
|
Backup changes for performance fixes.
|
2019-07-08 00:12:30 +00:00 |
Maurice Makaay
|
7bc7fda593
|
Backup changes for performance fixes.
|
2019-07-05 15:07:07 +00:00 |
Maurice Makaay
|
5e9879326a
|
Backup work to performance tuning.
|
2019-07-05 08:08:42 +00:00 |
Maurice Makaay
|
583197c37a
|
Made a distinction between MatchWhitespace() and MatchUnicodeSpace().
|
2019-07-04 11:32:07 +00:00 |
Maurice Makaay
|
d96511ce0a
|
Backup work.
|
2019-07-03 15:46:43 +00:00 |
Maurice Makaay
|
92e6eec7f3
|
implemented Cursor.moveByRune(), to get rid of some useless rune->string conversion for updating cursor positions.
|
2019-06-30 10:16:46 +00:00 |
Maurice Makaay
|
4b0309453f
|
Added a feature to run the parser without any of the built-in sanity checks (like loop checks). This improved performance, but at the risk of missing some runtime issues with the parser implementation.
|
2019-06-30 01:05:54 +00:00 |
Maurice Makaay
|
7ce12d1632
|
A few small changes used for TOML support.
|
2019-06-23 12:06:31 +00:00 |
Maurice Makaay
|
5904da9677
|
Added some package docs.
|
2019-06-18 22:52:17 +00:00 |
Maurice Makaay
|
2293627232
|
Small code cleanup things, mainly backing up the changes.
|
2019-06-18 15:46:09 +00:00 |
Maurice Makaay
|
99654c2f9e
|
Simplified some internal code, which also fixes a bug with correct error reporting from within parsekit in various edge cases.
|
2019-06-17 13:59:31 +00:00 |
Maurice Makaay
|
cdfc4ce52c
|
More documentation and examples.
|
2019-06-12 16:17:13 +00:00 |
Maurice Makaay
|
1a280233b0
|
Got rid of the testify dependency. My testing needs are so basic, that there's no need for this full fledged testing library.
|
2019-06-12 15:25:15 +00:00 |
Maurice Makaay
|
cef6ae1bc4
|
Working on documentation.
|
2019-06-12 15:24:09 +00:00 |
Maurice Makaay
|
27c97ae902
|
Big overhaul on separating packages for code containment.
|
2019-06-12 14:30:46 +00:00 |
Maurice Makaay
|
1f0e0fcc17
|
Splitting up functionality in packages, intermediate step.
|
2019-06-11 22:23:30 +00:00 |