Техника оптимизации под линуха

       

оптимизированный вариант


Компилятор icl – единственный из всех трех, способный на "параллелизацию" циклов. Чтобы ее задействовать используйте ключ –parallel, только помните, что при выполнении кода на однопроцессорных машинах, оптимизация дает обратный эффект (накладные расходы на организацию потоков дают о себе знать).

* msvc:  авто-параллелизм не поддерживается

* icl:       авто-параллелизм поддерживается

* gcc:     авто-параллелизм не поддерживается


Заметим, что в силу ограниченной "дальнобойности" условных переходов, в некоторых случаях длину цепочки приходится не только уменьшать, но и увеличивать, прибегая к следующему трюку:

jz far_far_away                   jnz next_lab

              ———трансформация—————>
     jmp far_far_away

                           next_lab:



Содержание раздела