DefaultTuple underestimate the memory footprint for string
----------------------------------------------------------

                 Key: PIG-1443
                 URL: https://issues.apache.org/jira/browse/PIG-1443
             Project: Pig
          Issue Type: Bug
          Components: impl
    Affects Versions: 0.7.0
            Reporter: Daniel Dai
            Assignee: Daniel Dai
             Fix For: 0.8.0


Currently, in DefaultTuple, we estimate the memory footprint for string as if 
it is char array. The formula we use is:  length * 2 + 12. It turns out we 
underestimate the memory usage for string. Here is a list of real memory 
footprint for string we get from memory dump:

| length of string | memory in bytes |
| 7 | 56 |
| 3 | 48 |
| 1 | 40 |

I did a search and find the following formula can accurately estimate the 
memory footprint for string:
{code}
8 * (int) (((length * 2) + 45) / 8) 
{code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to