ICEfaces
  1. ICEfaces
  2. ICE-9075

Reduce ACE Base class file sizes

    Details

    • Type: New Feature New Feature
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 3.2
    • Fix Version/s: None
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      ACE components

      Description

      Looking at the cumulative size of the ACE .class files, I found a simple way to make a significant reduction, which might reduce the memory working set by a noticeable amount.

      Total size of all ACE classes:
      3,367,560 bytes

      Portion related to org.icefaces.ace.component
      2,798,857 bytes

      Portion related to org.icefaces.ace.component, after reducing Base class getter / setter method bodies to empty
      2,136,942 bytes

      [650 KB savings]

      Portion related to org.icefaces.ace.component, leaving methods alone but omitting Tag classes
      2,437,353 bytes


      If we refactor the generated getter/setter code to not generate the full method bodies for every single property, but rather generate the primitive and object versions once per component and make every property use those, then we can probably reduce the class size by ~600KB, which is out of a total of ~3,000 KB that actually gets class loaded. That's 20%. Depending how the JIT works, that's 20% less working set memory used.

        Activity

        There are no comments yet on this issue.

          People

          • Assignee:
            Unassigned
            Reporter:
            Mark Collette
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated: