Skip to content
  • David Nolden's avatar
    - Use pathOrUrl instead of prettyUrl as needed now for the du-chain. · ea38fa1b
    David Nolden authored
    - Roll up the preprocessor, lexer and parser to use IndexedString indices for identifiers. For other characters or comments, the IndexedString's hold the single characters they are composed of. Now identifiers or keywords are tokenized exactly once, and hashed exactly once, instead of doing it repeatedly on many levels.
    - Rewrite the set-repositories used in the environment-manager: Now they are based on an ItemRepository that stores the actual nodes, and it's impossible to create exactly the same node twice now, because ALL nodes are stored and looked up in the repository. Also there's a fixed split-hierarchy now, that makes sure that nodes are as similar as possible.
      This greatly reduces the peak memory usage, and allows easily storing/loading all the information from/to disk.
    - Add tests for stuff that was broken along the way.
    
    The performance probably isn't much better yet, but this opens the door for further optimization.
    Don't try full-project parsing yet, the repositories still have a fixed size.
    ea38fa1b