1. A method for generating executable threads, comprising: determining, using a computer, from source code specification of each of a plurality of threads, variables of a data structure referenced by the thread; wherein the data structure is a shared data structure in the source code specifications of the plurality of threads; generating for each of the plurality of threads, a respective adaptation of a source code specification of the shared data structure, wherein each adaptation includes only the variables of the shared data structure determined to be referenced in the source code specification of the respective thread; replacing the shared data structure in the source code specifications of the plurality of threads with the respective adaptations; and compiling into respective object code segments, the source code specifications of the plurality of threads using the respective adaptations, wherein each object code segment requires memory space for only those variables included in the respective adaptation; wherein the source code specification of the data structure describes a network packet and the variables are fields of the packet, the respective adaptations specify respective portions of the network packet, and the respective object code segments are configured to operate on the respective portions of the network packet stored in separate memories while executing on respective processors.