BinaryMuse / toml-node

TOML parser for Node.js and the Browser. Parses TOML v0.4.0
http://binarymuse.github.io/toml-node/
MIT License
306 stars 30 forks source link

use offset() instead of line()/column() for issue #39 #45

Open felix9 opened 7 years ago

felix9 commented 7 years ago

This makes toml.parse about 2x faster for typical inputs.

Computing line() and column() for every node is expensive, and the information is only needed for error messages. offset() is much cheaper, and it's easy to compute line/column from the offset when we need them.

I'm leaving all the uses of line/column in toml.pegjs for now, because removing them will conflict with pr #44 . I'll fix it up after that one is resolved (either yes or no).

felix9 commented 7 years ago

Hi, @BinaryMuse, do you have time to look at this?