Jonathan Eagles created TEZ-3732: ------------------------------------ Summary: Reduce Object size of InputAttemptIdentifier and MapOutput for large jobs Key: TEZ-3732 URL: https://issues.apache.org/jira/browse/TEZ-3732 Project: Apache Tez Issue Type: Bug Reporter: Jonathan Eagles Assignee: Jonathan Eagles
Objects in 64bit java are 12bytes + member size aligned to 8 bytes InputAttemptIdentifier -> 33Bytes gets aligned up to 40 bytes This class is just one byte over the 32 byte alignment. Reducing object size by one byte can save 8 bytes per object. This is ~8MB savings for 1,000,000 inputs and ~80 MB savings for tasks with 10,000,000 inputs to fetch (Yes this is a real job) MapOutput -> 45 bytes gets aligned to 48 bytes This class can be sub-classed to avoid all sub-classes paying the object size cost for the other sub-classes Wait InMemory and DiskDirect -> 32 bytes Disk -> 40 bytes Total savings is harder to account for but more than the above case. -- This message was sent by Atlassian JIRA (v6.3.15#6346)