Tapestry 5
  1. Tapestry 5
  2. TAP5-522

Reduce memory footprint by sharing binding descriptions

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 5.1.0.0
    • Fix Version/s: 5.1.0.0
    • Component/s: tapestry-core
    • Labels:
      None

      Description

      In very large Tapestry deployments, a significant amount of memory is consumed by description object attached to Binding instances. Often, many many identical but separate strings are stored. Interning those strings (reducing duplicate content strings to a single String instance) would alleviate much of that issue.

        Activity

        Hide
        Andreas Andreou added a comment -

        Nice to see you run (& fixed) into this... In some early 4.1.X versions that was also the case and
        I think i had seen something like 15% of all memory consumed on that!

        Show
        Andreas Andreou added a comment - Nice to see you run (& fixed) into this... In some early 4.1.X versions that was also the case and I think i had seen something like 15% of all memory consumed on that!
        Hide
        Howard M. Lewis Ship added a comment -

        Hopefully this will help ... its very important to me that objects have useful toString() implementations (useful for the debugger, or for logging output). Hopefully this kind of measure will keep that aspect without the memory consumption.

        Show
        Howard M. Lewis Ship added a comment - Hopefully this will help ... its very important to me that objects have useful toString() implementations (useful for the debugger, or for logging output). Hopefully this kind of measure will keep that aspect without the memory consumption.

          People

          • Assignee:
            Howard M. Lewis Ship
            Reporter:
            Howard M. Lewis Ship
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development