Maurice Makaay
|
8ef9aed096
|
Switching from various Byte and Rune handlers to single Char handlers.
The Char handlers determine on their own if they should handle things
in byte or rune mode.
|
2019-07-29 09:45:25 +00:00 |
Maurice Makaay
|
e0b1039abd
|
Made a big jump in performance on big files with lots of comments, by reading in chunks till end of line, instead of byte-by-byte.
|
2019-07-28 23:50:58 +00:00 |
Maurice Makaay
|
fcdd3d4ea7
|
Wow, going nicely! Some more miliseconds stripped.
|
2019-07-26 22:56:12 +00:00 |
Maurice Makaay
|
87cdadae78
|
Hmm... this whole snapshot idea seems to work and a valid replacement for the forking method.
|
2019-07-26 08:02:37 +00:00 |
Maurice Makaay
|
62cd84bb74
|
Use zero-indexed cursor positioning data inside stackframes. This simplifies some things.
Also a bit of code cleanup.
|
2019-07-24 10:34:24 +00:00 |
Maurice Makaay
|
7037c6d24a
|
Fixing some naming inconsistencies.
|
2019-07-23 17:55:13 +00:00 |
Maurice Makaay
|
a968f22d45
|
Code cleanup, making the byte and rune inputs look as much the same as possible and get rid of some unneeded functionality.
|
2019-07-23 08:03:16 +00:00 |
Maurice Makaay
|
cf679b2225
|
Backup work for next refactoring step.
|
2019-07-22 22:16:28 +00:00 |
Maurice Makaay
|
070e6a13a7
|
Made some nice steps, backup and continue!
|
2019-07-22 15:37:52 +00:00 |
Maurice Makaay
|
dd1159e309
|
Committing a bit of code cleanup before trying something bigger.
|
2019-07-22 07:57:05 +00:00 |
Maurice Makaay
|
183f5df00d
|
Brought back some lost performance. Doing everything via api.Input/Output causes an extra level of indirection and it does not cost that much, but we do loose performance through that route. So added private methods for the API struct, which are used internally to squeeze out a bit of extra performance.
|
2019-07-20 23:51:08 +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
|
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
|
7116aa47df
|
Squishing out more performance.
|
2019-07-12 00:21:02 +00:00 |
Maurice Makaay
|
c532af67ca
|
Optimization round completed (for now :-) All tests successful.
|
2019-07-11 12:43:57 +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
|
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
|
cdfc4ce52c
|
More documentation and examples.
|
2019-06-12 16:17:13 +00:00 |
Maurice Makaay
|
27c97ae902
|
Big overhaul on separating packages for code containment.
|
2019-06-12 14:30:46 +00:00 |