Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce a PathBuilder #850

Open
wants to merge 21 commits into
base: main
Choose a base branch
from
Open

Commits on Sep 18, 2017

  1. HV-1480 Add a hv-6.0 entry to be able to compare the latest stable with

    our current snapshot
    gsmet authored and gunnarmorling committed Sep 18, 2017
    Configuration menu
    Copy the full SHA
    f970b29 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    27f566a View commit details
    Browse the repository at this point in the history
  3. HV-1480 Avoid removing and adding element to the node list

    We can directly set the element in the list. It avoids some list
    resizing.
    gsmet authored and gunnarmorling committed Sep 18, 2017
    Configuration menu
    Copy the full SHA
    d3672d3 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    e3b444e View commit details
    Browse the repository at this point in the history
  5. HV-1480 Avoid initializing lists and maps in the common case where we

    only have the default group
    
    Also optimize a bit the advanced case with groups.
    gsmet authored and gunnarmorling committed Sep 18, 2017
    Configuration menu
    Copy the full SHA
    5398159 View commit details
    Browse the repository at this point in the history
  6. HV-1480 Avoid creating a list in the common case when we only have the

    default violation
    
    Also optimize a bit the concatenation of the default violation and the
    custom ones to avoid creating a list too small and resize it each time.
    gsmet authored and gunnarmorling committed Sep 18, 2017
    Configuration menu
    Copy the full SHA
    780af71 View commit details
    Browse the repository at this point in the history
  7. HV-1480 Avoid computing the hashCode if not necessary

    A lot of NodeImpls are created during the build of the path and some of
    them are simply discarded as they are "modified" (NodeImpl are immutable
    so we create a new) further away. Thus we better avoid building the
    hashCode each time.
    gsmet authored and gunnarmorling committed Sep 18, 2017
    Configuration menu
    Copy the full SHA
    e76f701 View commit details
    Browse the repository at this point in the history
  8. HV-1480 Don't take into account the parent in hashCode and equals

    Otherwise, we "compare" the whole path several times while comparing a
    path.
    gsmet authored and gunnarmorling committed Sep 18, 2017
    Configuration menu
    Copy the full SHA
    c11fdeb View commit details
    Browse the repository at this point in the history
  9. HV-1480 Implement a copy on write strategy for the node list

    It avoids copying the list when not strictly necessary
    gsmet authored and gunnarmorling committed Sep 18, 2017
    Configuration menu
    Copy the full SHA
    ed8f3b5 View commit details
    Browse the repository at this point in the history
  10. HV-1480 Centralize the processed works in one single set

    It avoids a lot of initialization/resizing and in the end it's more
    efficient.
    gsmet authored and gunnarmorling committed Sep 18, 2017
    Configuration menu
    Copy the full SHA
    7c00b44 View commit details
    Browse the repository at this point in the history
  11. HV-1480 Setting the key or the index already makes the node iterable

    So we don't need to do it twice. Note that this change uncovers the fact
    that in ConstraintValidatorContext, calling atKey() or atIndex() makes
    the node iterable.
    
    It was already the case before and I think it's acceptable.
    
    It brings its own performance improvements as it avoids initializing 1
    NodeImpl and creating 1 copy of the Path.
    gsmet authored and gunnarmorling committed Sep 18, 2017
    Configuration menu
    Copy the full SHA
    f39e179 View commit details
    Browse the repository at this point in the history
  12. HV-1480 We expect at least one node in the path so let's initialize the

    list with one element
    
    It doesn't seem necessary to consider more elements as the list will be
    copied when new nodes will be added.
    gsmet authored and gunnarmorling committed Sep 18, 2017
    Configuration menu
    Copy the full SHA
    2e66bec View commit details
    Browse the repository at this point in the history
  13. HV-1480 Even if not strictly necessary, the leaf node should be

    correctly set in all constructors
    gsmet authored and gunnarmorling committed Sep 18, 2017
    Configuration menu
    Copy the full SHA
    16c19e5 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    1acf669 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    324b56e View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    b82169c View commit details
    Browse the repository at this point in the history
  17. HV-1480 Add another benchmark

    gsmet authored and gunnarmorling committed Sep 18, 2017
    Configuration menu
    Copy the full SHA
    d2ea4b8 View commit details
    Browse the repository at this point in the history
  18. Mark a test as candidate for the TCK

    gsmet authored and gunnarmorling committed Sep 18, 2017
    Configuration menu
    Copy the full SHA
    0e0d825 View commit details
    Browse the repository at this point in the history
  19. HV-1480 Only set the property value if required

    Only property and container node exposes it to users.
    gsmet authored and gunnarmorling committed Sep 18, 2017
    Configuration menu
    Copy the full SHA
    3b79cdd View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    bf7b5c0 View commit details
    Browse the repository at this point in the history
  21. WIP

    gunnarmorling committed Sep 18, 2017
    Configuration menu
    Copy the full SHA
    da77077 View commit details
    Browse the repository at this point in the history