Compiler performance is improved without compromising program correctness by altering the commonly expected ordering that has been used in the past. A more efficient memory image is provided which results in smaller stack frames (activation records), less required heap space (static data memory storage), improved variable access time due to better spacial locality, and improved cache-hit ratios. An optimal size space storage allocation technique optimizes the run time code, such that fewer instructions are required per each data access. A smaller local area, which is part of the activation record, is provided, such that there is a much greater level of nesting and better cache locality. Improved alignment base sorting is provided such that, based on alignment, the smallest stack frame possible is provided. Profile based optimization, which gathers information about the behavior of the program, is used to determine how best to order and layout storage during the next storage allocation pass, such that items that are accessed more often are allocated further up in the activation record. Temporal locality is used to determine what variables are going to be accessed in what order, where a graph that represents all of the variables is built up. The graph is weighted by the number of times each variable is accessed immediately before or after each other variable. Allocated variables are then laid out in such an order that variables that are accessed temporally close to each other are allocated on the same cache line. Thus, when a cache line hosting a variable is brought into the cache, the variables that are to be accessed next are also automatically brought into the cache because they have been allocated on the same cache line. Therefore, the need to retrieve additional cache lines is greatly reduced. This results in a reduced number of cache misses. Static duration storage is also used to relate to static defined data that is heap allocated.

Составитель, котор представление улучшено без компрометируя правильности программы путем изменять общ предпологаемое приказывающ то был использован в прошлом. Более эффективное изображение памяти обеспечено приводит к в более малых рамках стога (показателях активации), меньше необходимо космос вороха (хранение памяти статических данных), улучшенный переменное время доступа должное к более лучшему spacial местообитанию, и улучшенные cache-hit коэффициенты. Оптимальный метод распределения хранения космоса размера оптимизирует Кодего времени бега, такое что немногие инструкции необходимы в каждый доступ данных. Обеспечена более малой местной областью, которая будет часть показателя активации, такие что будет очень большой уровень вложенности и более лучшего местообитания тайника. Улучшенный сортировать выравнивания низкопробный предусмотрен таким что, после того как я основана на выравнивании, обеспечена самая малая рамка стога по возможности. Профилируйте основанное оптимизирование, которое собирает информацию о поведении программы, использует для того чтобы обусловить как наиболее наилучшим образом к хранению во время следующего пропуска распределения хранения, такому заказа и плана что детали которые достиганы более часто размещайте более далее вверх в показателе активации. Височное местообитание использовано для того чтобы обусловить что перемеююые идут быть достиганным в что заказе, где диаграмма которая представляет вся из перемеююых построена вверх. Диаграмма утяжелена числом времен каждого переменного достигает immediately before или после переменное. Размещанные перемеююые после этого положены вне в такой заказ что перемеююые достиганы височно close to размещаны на такой же линии тайника. Таким образом, когда линия тайника хозяйничая перемеююый принесена в тайник, перемеююые которые должны быть достиганным затем также автоматически принесены в тайник потому что они были размещаны на такой же линии тайника. Поэтому, потребность retrieve дополнительные линии тайника больш уменьшена. Это приводит к в уменьшенном номере несоосности тайника. Статическое хранение продолжительности также использовано для того чтобы отнести к статическими определенными данными будут размещанный ворох.

 
Web www.patentalert.com

< (none)

< Methods and apparatus for managing a database in a distributed operating environment

> Automatic web page generator

> (none)

~ 00001