Примеры оптимизации реальных задач
===================================== 

Bug119391: qt4 sse
-------------------------------------

В примере есть горячая функция ``comp_func_solid_SourceOver_sse2``.
Компилятор плотно упаковал цикл, но есть возможности оптимизации
если использовать  ``__builtin_prefetch(&dst[x+12])``,
либо попробовать реализовать на ``eml``. Для этого сначала нужно выделить пример.

- ``qt4-4.8.7/src/gui/painting/qdrawingprimitive_sse2_p.h``
- ``qt4-4.8.7/src/gui/painting/qdrawhelper_sse2.cpp``

Также в рамках этого примера поднялся вопрос о задании
опций оптимизации (типа ``-ffast``) через прагму.

http://bugzilla.lab.sun.mcst.ru/bugzilla-mcst/show_bug.cgi?id=119391

Bug94344: crc32c
-------------------------------------

В баге обсуждается реализация slice и ускорение подсчета контрольных сумм.
Быстрая реализация crc32 в виде патчей включена для ``ceph-10.2.9`` и ``mongodb-3.6.13 - wiredtiger`` соответственно:

- ``0014-Patch-from-ceph-10.2.1-crc32-from-troosh-for-e2k-bug.patch``
- ``0002-wiredtiger_e2k_crc32.patch``

http://bugzilla.lab.sun.mcst.ru/bugzilla-mcst/show_bug.cgi?id=94344

Bug119602: Adler32
-------------------------------------

Это функция для подсчёта довольно популярной контрольной
суммы: https://ru.wikipedia.org/wiki/Adler-32 

Для реализаций этого алгоритма можно с помощью прагмы подсказать компилятору, что в цикле много итераций:
::

   #pragma loop count(1000)
   for (i = 0; i < len; ++i) {

В этом случае к циклу применяется ``u2s`` и ``apb``, и время работы теста на E2S
уменьшается в 1.45 раз по сравнению с rel-23-0.


http://bugzilla.lab.sun.mcst.ru/bugzilla-mcst/show_bug.cgi?id=119602
http://bugzilla.lab.sun.mcst.ru/bugzilla-mcst/show_bug.cgi?id=121440

