An optimizing apparatus includes a data item extraction unit, a layout unit, an unused data item extraction unit, a merge determination unit, and a data item merge unit. The data item extraction unit extracts data items from a program. The layout unit lays out the extracted data item in memory. The unused data item extraction unit extracts defined but unused data items from the extracted data items. The merge determination unit determines based on the layout result whether or not a plurality of unused data items forming a data item having a hierarchical structure can be merged into a new data item. The data item merge unit merges the plurality of data items into a data item based on the determination result.