RU2000124183A - Способ получения объектного кода - Google Patents
Способ получения объектного кодаInfo
- Publication number
- RU2000124183A RU2000124183A RU2000124183/09A RU2000124183A RU2000124183A RU 2000124183 A RU2000124183 A RU 2000124183A RU 2000124183/09 A RU2000124183/09 A RU 2000124183/09A RU 2000124183 A RU2000124183 A RU 2000124183A RU 2000124183 A RU2000124183 A RU 2000124183A
- Authority
- RU
- Russia
- Prior art keywords
- intermediate program
- execution time
- program
- linear
- planned
- Prior art date
Links
- 238000005457 optimization Methods 0.000 claims 9
- 230000001603 reducing Effects 0.000 claims 4
- 238000006722 reduction reaction Methods 0.000 claims 4
- 230000000875 corresponding Effects 0.000 claims 2
- 241000238876 Acari Species 0.000 claims 1
- 238000000034 method Methods 0.000 claims 1
Claims (5)
1. Способ получения объектного кода, отличающийся тем, что по исходной программе получают неоптимизированный объектный код в виде совокупности линейных участков и соответствующий указанному коду профиль программы с информацией о числе исполнений каждого линейного участка неоптимизированного объектного кода; переводят исходную программу или неоптимизированный объектный код в первичную промежуточную программу, имеющую совокупность линейных участков, соответствующую совокупности линейных участков неоптимизированного объектного кода; каждый линейный участок первичной промежуточной программы планируют и затем определяют время исполнения полученного спланированного участка в тактах; определяют полное время исполнения первичной промежуточной программы по следующей формуле:
где Т - полное время исполнения первичной промежуточной программы в тактах;
Lj - время исполнения j-того спланированного линейного участка первичной промежуточной программы в тактах;
Nj - число исполнений упомянутого j-го линейного участка;
j=1...m - число линейных участков;
для каждого спланированного линейного участка первичной промежуточной программы определяют ожидаемое уменьшение полного времени исполнения первичной промежуточной программы в результате выноса совокупности операций, спланированных в первом такте указанного участка, с учетом числа исполнений указанного участка, полученного из профиля программы; осуществляют оптимизацию первичной промежуточной программы путем выполнения заданного числа циклов следующих действий, определяемого из условия завершения оптимизации: устанавливают последовательность спланированных линейных участков текущей промежуточной программы по убыванию ожидаемого уменьшения полного времени исполнения текущей промежуточной программы; переносят совокупность операций, спланированных в первом такте первого линейного участка указанной последовательности, на предшествующие ему по управлению спланированные линейные участки текущей промежуточной программы, включая тот же спланированный участок в случае программного цикла, при этом получают преобразованную промежуточную программу, имеющую по меньшей мере два модифицированных участка; определяют полное время исполнения преобразованной промежуточной программы, полученное с учетом планирования ее участков, и реальное уменьшение указанного времени по сравнению с полным временем исполнения текущей промежуточной программы и полученное реальное уменьшение сравнивают с ожидаемым уменьшением полного времени исполнения текущей промежуточной программы для следующего линейного участка указанной последовательности; при этом: если первое из упомянутых уменьшении не меньше второго, сохраняют преобразованную промежуточную программу, после чего выполняют для нее указанный цикл действий, полагая ее текущей промежуточной программой в данном цикле, причем реальное уменьшение полного времени исполнения полученной последующей преобразованной промежуточной программы определяют по сравнению с полным временем исполнения предыдущей преобразованной промежуточной программы, если первое из упомянутых уменьшении меньше второго, восстанавливают состояние модифицированных участков, причем при положительном значении реального уменьшения выполняют указанный цикл действий с учетом этого значения, а при отсутствии реального уменьшения выполняют указанный цикл действий, осуществляя его с действия по переносу совокупности операций, спланированных в первом такте следующего линейного участка последней полученной последовательности спланированных линейных участков для текущей промежуточной программы; на основе полученной в результате оптимизации совокупности линейных участков последней преобразованной промежуточной программы формируют оптимизированный объектный код.
2. Способ по п.1, отличающийся тем, что полное время исполнения преобразованной промежуточной программы в ходе оптимизации определяют по формуле
где Top - полное время исполнения преобразованной промежуточной программы в тактах с учетом дублирования операций в процессе оптимизации;
Lj - время исполнения j-го спланированного линейного участка преобразованной промежуточной программы в тактах;
Nj - число исполнений упомянутого j-го линейного участка;
Кор - положительное число, характеризующее замедление работы преобразованной промежуточной программы на выбранной архитектурной платформе из-за увеличения размеров кода;
Rj - число операций на j-том линейном участке с учетом результатов переноса;
j=1...m - число линейных участков в совокупности.
3. Способ по п.1, отличающийся тем, что полное время исполнения преобразованной промежуточной программы в ходе оптимизации определяют по формуле
где Tmem - полное время исполнения преобразованной промежуточной программы в тактах с учетом увеличения числа обращений в память в процессе оптимизации; Lj - время исполнения j-го спланированного линейного участка преобразованной промежуточной программы в тактах;
Nj - число исполнений упомянутого j-го линейного участка;
Kmem - положительное число, характеризующее замедление работы преобразованной промежуточной программы в процессе оптимизации на выбранной архитектурной платформе из-за увеличения числа обращений в память;
Mj - число операций обращения в память на j-м линейном участке с учетом результатов переноса;
j=1...m - число линейных участков в совокупности.
4. Способ по любому из пп.1-3, отличающийся тем, что условием завершения оптимизации первичной промежуточной программы является отсутствие реального уменьшения полного времени исполнения преобразованной промежуточной программы для всех линейных участков.
5. Способ по любому из пп.1-3, отличающийся тем, что условием завершения оптимизации первичной промежуточной программы является отсутствие реального уменьшения полного времени исполнения преобразованной промежуточной программы для заданного числа оптимизируемых линейных участков.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2000124183A RU2206119C2 (ru) | 2000-09-22 | 2000-09-22 | Способ получения объектного кода |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2000124183A RU2206119C2 (ru) | 2000-09-22 | 2000-09-22 | Способ получения объектного кода |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2206119C2 RU2206119C2 (ru) | 2003-06-10 |
RU2000124183A true RU2000124183A (ru) | 2003-06-27 |
Family
ID=29209088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2000124183A RU2206119C2 (ru) | 2000-09-22 | 2000-09-22 | Способ получения объектного кода |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2206119C2 (ru) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2306597C2 (ru) * | 2005-10-04 | 2007-09-20 | Георгий Михайлович Шагов | Способ компоновки (сборки) программного обеспечения |
US8799882B2 (en) | 2005-12-07 | 2014-08-05 | Microsoft Corporation | Compiler support for optimizing decomposed software transactional memory operations |
US7555619B2 (en) | 2005-12-07 | 2009-06-30 | Microsoft Corporation | Efficient per-object operations in software transactional memory |
US8191052B2 (en) | 2006-12-01 | 2012-05-29 | Murex S.A.S. | Producer graph oriented programming and execution |
US8332827B2 (en) | 2006-12-01 | 2012-12-11 | Murex S.A.S. | Produce graph oriented programming framework with scenario support |
US8307337B2 (en) | 2006-12-01 | 2012-11-06 | Murex S.A.S. | Parallelization and instrumentation in a producer graph oriented programming framework |
RU2691860C1 (ru) * | 2018-06-25 | 2019-06-18 | Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" | Способ распараллеливания программ в среде логического программирования в вычислительной системе |
-
2000
- 2000-09-22 RU RU2000124183A patent/RU2206119C2/ru active IP Right Revival
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Myers | The fragment assembly string graph | |
Rajendran | Heuristics for scheduling in flowshop with multiple objectives | |
CN112700027A (zh) | 用于电功率预测模型的多精度指标综合评价方法及系统 | |
JP3844691B2 (ja) | コード生成モード変更方法 | |
CN100401258C (zh) | 用于在执行被转换指令时维持环境的方法 | |
CN101918917B (zh) | 基于块计数的过程布局和拆分 | |
RU2000124183A (ru) | Способ получения объектного кода | |
AU2007236811B2 (en) | Method of predicting the secondary structure of RNA, prediction apparatus and prediction program | |
CN106227163A (zh) | 基于Petri网和模拟退火的装备制造系统无死锁调度方法 | |
Korver et al. | A computer-checked verification of Milner's scheduler | |
RU2206119C2 (ru) | Способ получения объектного кода | |
Sutcliffe | The CADE-24 automated theorem proving system competition–CASC-24 | |
Yadav et al. | Detection of isomorphism among kinematic chains using the distance concept | |
JP4462676B2 (ja) | プログラム変換装置、コンパイラ装置およびプログラム変換プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
Theodosiou et al. | Further studies of the promethium isoelectronic sequence | |
JP3905951B2 (ja) | シミュレーション/エミュレーションの効率を増すための論理変換方法 | |
Marecki et al. | A fast analytical algorithm for MDPs with continuous state spaces | |
JPH1153006A (ja) | スケジューリング方法 | |
JP3955843B2 (ja) | マイクロプロセッサの並列シミュレーションシステム | |
Ripon et al. | PVS embedding of cCSP semantic models and their relationship | |
Attarzadeh et al. | Implementation and evaluation of earned value index to achieve an accurate project time and cost estimation and improve" Earned Value Management System" | |
Wiedermann | Speeding-up single-tape nondeterministic computations by single alternation, with separation results | |
Friedman | Methodology of conservation engineering | |
Wenqing et al. | Balance Design of Production Line in Engine Assembly Workshop | |
Berson et al. | Integrating program optimizations and transformations with the scheduling of instruction level parallelism |