Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Пт мар 29, 2024 05:02

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 366 ]  На страницу Пред.  1 ... 19, 20, 21, 22, 23, 24, 25  След.
Автор Сообщение
 Заголовок сообщения: Re: СПФ и оптимизатор
СообщениеДобавлено: Пт мар 02, 2012 16:57 
Очередное небольшое выявление проблемных мест
макрооптимизатора.
Код:
SPF4

lib/ext/disasm.f
: a ROT ROT ;
SEE a                                 VFX

572EF3 8B5500   MOV  EDX , 0 [EBP]   ( 004C8E10  8BD3 )    MOV  EDX, EBX     
572EF6 894500   MOV  0 [EBP] , EAX   ( 004C8E12  8B5D00 )  MOV  EBX, [EBP]   
572EF9 8B4504   MOV  EAX , 4 [EBP]   ( 004C8E15  8B4D04 )  MOV  ECX, [EBP+04]
572EFC 895504   MOV  4 [EBP] , EDX   ( 004C8E18  894D00 )  MOV  [EBP], ECX   
572EFF 8B5500   MOV  EDX , 0 [EBP]   ( 004C8E1B  895504 )  MOV  [EBP+04], EDX
572F02 894500   MOV  0 [EBP] , EAX   ( 004C8E1E  C3 )      NEXT,                 
572F05 8B4504   MOV  EAX , 4 [EBP]   ( 15 bytes, 6 instructions )                                 
572F08 895504   MOV  4 [EBP] , EDX
572F0B C3   RET  NEAR
END-CODE 

: a BASE @ 16 BASE ! SWAP . BASE ! ;

8945FC        MOV  FC [EBP] , EAX   ( 8B5618 )          MOV  EDX, [ESI+18]               
8B8738000000 MOV  EAX , 38 [EDI]   ( C7461810000000 )  MOV  DWord Ptr [ESI+18], 00000010
8D8F38000000 LEA  ECX , 38 [EDI]   ( 8D6DFC )          LEA  EBP, [EBP+-04]             
C70110000000 MOV  [ECX] , # 10     ( 895500 )          MOV  [EBP], EDX                 
8B55FC        MOV  EDX , FC [EBP]   ( E86F30F4FF )      CALL 0040BEC4       (.)           
8945FC        MOV  FC [EBP] , EAX   ( 895E18 )          MOV  [ESI+18], EBX               
8BC2        MOV  EAX , EDX        ( 8B5D00 )          MOV  EBX, [EBP]                 
8D6DFC        LEA  EBP , FC [EBP]   ( 8D6D04 )          LEA  EBP, [EBP+04]               
E81035FEFF   CALL 556428  ( . )    ( C3 )              NEXT,                           
8BD0        MOV  EDX , EAX
8D8738000000 LEA  EAX , 38 [EDI]
8910        MOV  [EAX] , EDX
8B4500        MOV  EAX , 0 [EBP]
8D6D04        LEA  EBP , 4 [EBP]
C3        RET  NEAR

: a 0 2SWAP ;

572EF3 8945FC   MOV  FC [EBP] , EAX    ( 8D6DFC )        LEA EBP, [EBP+-04]             
572EF6 33C0   XOR  EAX , EAX         ( 8B5508 )        MOV EDX, [EBP+08]               
572EF8 8B4DFC   MOV  ECX , FC [EBP]    ( 895500 )        MOV [EBP], EDX                 
572EFB 8B5500   MOV  EDX , 0 [EBP]     ( 895D08 )        MOV [EBP+08], EBX               
572EFE 8B5D04   MOV  EBX , 4 [EBP]     ( 8B5D04 )        MOV EBX, [EBP+04]               
572F01 894D04   MOV  4 [EBP] , ECX     ( C7450400000000) MOV DWord Ptr [EBP+04], 00000000
572F04 894500   MOV  0 [EBP] , EAX     ( C3 )            NEXT,                                 
572F07 895DFC   MOV  FC [EBP] , EBX
572F0A 8BC2   MOV  EAX , EDX
572F0C 8D6DFC   LEA  EBP , FC [EBP]
572F0F C3   RET  NEAR


P.S. Может стоит набрать статистику по качеству оптимизации
кода, например SPF4 и VFX на коротких (наиболее часто используемых) участках программы из цепочек примитивов?


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: СПФ и оптимизатор
СообщениеДобавлено: Вс мар 04, 2012 11:21 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
Продвинул оптимизатор http://fpauk.narod.ru/macroopt.f

Код:
: a  BASE @ 16 BASE ! SWAP . BASE ! ;

SEE a
58594F 8B9738000000     MOV     EDX , 38 [EDI]
585955 C7873800000010000000     MOV     38 [EDI] , # 10
58595F 8955FC           MOV     FC [EBP] , EDX
585962 8D6DFC           LEA     EBP , FC [EBP]
585965 E8820AFEFF       CALL    5663EC  ( . )
58596A 898738000000     MOV     38 [EDI] , EAX
585970 8B4500           MOV     EAX , 0 [EBP]
585973 8D6D04           LEA     EBP , 4 [EBP]
585976 C3               RET     NEAR

: a 0 2SWAP ;

SEE a
585987 8BC8             MOV     ECX , EAX
585989 33C0             XOR     EAX , EAX
58598B 8B5500           MOV     EDX , 0 [EBP]
58598E 8B5D04           MOV     EBX , 4 [EBP]
585991 894D04           MOV     4 [EBP] , ECX
585994 894500           MOV     0 [EBP] , EAX
585997 895DFC           MOV     FC [EBP] , EBX
58599A 8BC2             MOV     EAX , EDX
58599C 8D6DFC           LEA     EBP , FC [EBP]
58599F C3               RET     NEAR


0 2SWAP можно улучшить, но мне кажется это довольно редким случаем.
ROT ROT это -ROT.


Гость писал(а):
P.S. Может стоит набрать статистику по качеству оптимизации
кода, например SPF4 и VFX на коротких (наиболее часто используемых) участках программы из цепочек примитивов?

Главное, чтобы это были фрагменты реальных программ. И в первую очередь - критические по быстродействия.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: СПФ и оптимизатор
СообщениеДобавлено: Вс мар 04, 2012 15:45 
Mihail писал(а):
Продвинул оптимизатор
Код:
: a  BASE @ 16 BASE ! SWAP . BASE ! ;

SEE a
58594F 8B9738000000     MOV     EDX , 38 [EDI]
585955 C7873800000010000000     MOV     38 [EDI] , # 10
58595F 8955FC           MOV     FC [EBP] , EDX
585962 8D6DFC           LEA     EBP , FC [EBP]
585965 E8820AFEFF       CALL    5663EC  ( . )
58596A 898738000000     MOV     38 [EDI] , EAX
585970 8B4500           MOV     EAX , 0 [EBP]
585973 8D6D04           LEA     EBP , 4 [EBP]
585976 C3               RET     NEAR
[/quote]

Немного изменённый код, почему то не отработал:)
[code]
VARIABLE CCC
: a CCC @ 16 CCC ! SWAP . CCC ! ;

SEE a

57331F 8945FC      MOV     FC [EBP] , EAX
573322 A10C335700   MOV     EAX , 57330C  ( CCC+5  )
573327 C7050C33570010000000   MOV     57330C  ( CCC+5  ) , # 10
573331 8B55FC      MOV     EDX , FC [EBP]
573334 8945FC      MOV     FC [EBP] , EAX
573337 8BC2      MOV     EAX , EDX
573339 8D6DFC      LEA     EBP , FC [EBP]
57333C E87F30FEFF   CALL    5563C0  ( . )
573341 89050C335700   MOV     57330C  ( CCC+5  ) , EAX
573347 8B4500      MOV     EAX , 0 [EBP]
57334A 8D6D04      LEA     EBP , 4 [EBP]
57334D C3      RET     NEAR
END-CODE   Ok


Mihail писал(а):
ROT ROT это -ROT.

т.е. желательно не забывать использовать -ROT

Mihail писал(а):
Гость писал(а):
P.S. Может стоит набрать статистику по качеству оптимизации кода,

Главное, чтобы это были фрагменты реальных программ. И в первую очередь - критические по быстродействия.


Наверное:) Но тогда необходимо использование профилирование кода.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: СПФ и оптимизатор
СообщениеДобавлено: Вс мар 04, 2012 15:49 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
`Kopa писал(а):
Наверное:) Но тогда необходимо использование профилирование кода.


A в чем сакральный смысл цитирования предыдущего поста целиком?

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: СПФ и оптимизатор
СообщениеДобавлено: Вс мар 04, 2012 16:00 
WingLion писал(а):
`Kopa писал(а):
Наверное:) Но тогда необходимо использование профилирование кода.


A в чем сакральный смысл цитирования предыдущего поста целиком?


См. сбилось форматирование. Пост можно сократить:)

P.S. Сокральный? Пржалуй то, что оптимизатор отрабатывает
зачастую частные случаи "не додуманного" общего шаблона:)


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: СПФ и оптимизатор
СообщениеДобавлено: Вс мар 04, 2012 21:30 
Mihail писал(а):
Главное, чтобы это были фрагменты реальных программ. И в первую очередь - критические по быстродействия.


В этом варианте можно предложить к рассмотрению как
генерируется код для самого макрооптимизатора. Хотя
возможно быстродействие, если его не использовать
как JIT, наверное некритично. Для оценки времени
можно выводить счётчик в консоль суммарного времени
компиляции, например Benchmark-a (правда как и что считать могут возникнуть сложности в определении)

Пример сравнения кода. (какой из них быстрее?) применяемого
в макрооптимизаторе.
Код:
: a OVER 16 <> AND
    OVER 10 <> AND
;
   SPF4               VFX
8945FC      MOV     FC [EBP] , EAX   ( 837D0010 )  CMP       [EBP], 10
8B4500      MOV     EAX , 0 [EBP]    ( 0F95C2 )    SETNZ/NE DL
3510000000  XOR     EAX , # 10       ( F6DA )      NEG       DL
F7D8       NEG     EAX              ( 0FBED2 )    MOVSX     EDX, DL
1BC0       SBB     EAX , EAX        ( 23DA )      AND       EBX, EDX
2345FC       AND     EAX , FC [EBP]   ( 837D000A )  CMP       [EBP], 0A
8945FC       MOV     FC [EBP] , EAX   ( 0F95C2 )    SETNZ/NE DL
8B4500       MOV     EAX , 0 [EBP]    ( F6DA )      NEG       DL
350A000000  XOR     EAX , # A        ( 0FBED2 )    MOVSX     EDX, DL
F7D8       NEG     EAX              ( 23DA )      AND       EBX, EDX
1BC0       SBB     EAX , EAX        ( C3 )        NEXT,
2345FC       AND     EAX , FC [EBP]   
C3       RET     NEAR         



Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: СПФ и оптимизатор
СообщениеДобавлено: Вс мар 04, 2012 22:30 
Имеет смысл добавить, по возможности, ещё правила макрооптимизатора для такого случая и похожих.

Код:
: a
        DUP C@ F0
           AND 70 = IF 1+ ELSE
        DUP C@ EB = IF 1+ ELSE
        THEN THEN
;
8945FC       MOV   FC [EBP] , EAX       ( 0FB613 )        MOVZX     EDX, Byte Ptr 0 [EBX]
0FB600       MOVZX EAX , BYTE PTR [EAX] ( 81E2F0000000 )  AND       EDX, 000000F0       
25F0000000   AND   EAX , # F0           ( 83FA70 )        CMP       EDX, 70             
3D70000000   CMP   EAX , # 70           ( 0F8506000000 )  JNZ/NE    004C8EE8             
8B45FC       MOV   EAX , FC [EBP]       ( 43 )            INC       EBX                 
0F8505000000 JNE   57333D  ( J!+1E  )   ( E915000000 )    JMP       004C8EFD             
8D4001       LEA   EAX , 1 [EAX]        ( 0FB613 )        MOVZX     EDX, Byte Ptr 0 [EBX]
EB19         JMP   573356               ( 81FAEB000000 )  CMP       EDX, 000000EB       
8945FC       MOV   FC [EBP] , EAX       ( 0F8506000000 )  JNZ/NE    004C8EFD             
0FB600       MOVZX EAX , BYTE PTR [EAX] ( 43 )            INC       EBX                 
3DEB000000   CMP   EAX , # EB           ( E900000000 )    JMP       004C8EFD             
8B45FC       MOV   EAX , FC [EBP]       ( C3 )            NEXT,                         
0F8505000000 JNE   573356  ( J!+37  )                       
8D4001       LEA   EAX , 1 [EAX]
EB00         JMP   573356
C3           RET   NEAR
END-CODE   Ok


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: СПФ и оптимизатор
СообщениеДобавлено: Пн мар 05, 2012 18:14 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
Очередная версия http://fpauk.narod.ru/macroopt.f
Код:
: a OVER 16 <> AND
    OVER 10 <> AND ;

SEE a
572C5B 8B4D00           MOV     ECX , 0 [EBP]
572C5E 81F116000000     XOR     ECX , # 16
572C64 F7D9             NEG     ECX
572C66 1BC9             SBB     ECX , ECX
572C68 23C1             AND     EAX , ECX
572C6A 8B4D00           MOV     ECX , 0 [EBP]
572C6D 81F110000000     XOR     ECX , # 10
572C73 F7D9             NEG     ECX
572C75 1BC9             SBB     ECX , ECX
572C77 23C1             AND     EAX , ECX
572C79 C3               RET     NEAR

: a
        DUP C@ F0
           AND 70 = IF 1+ ELSE
        DUP C@ EB = IF 1+ ELSE
        THEN THEN ;

SEE a
572C8B 0FB608           MOVZX   ECX , BYTE PTR [EAX]
572C8E 81E1F0000000     AND     ECX , # F0
572C94 81F970000000     CMP     ECX , # 70
572C9A 0F8505000000     JNE     572CA5  ( a+1A  )
572CA0 8D4001           LEA     EAX , 1 [EAX]
572CA3 EB14             JMP     572CB9
572CA5 0FB608           MOVZX   ECX , BYTE PTR [EAX]
572CA8 81F9EB000000     CMP     ECX , # EB
572CAE 0F8505000000     JNE     572CB9  ( a+2E  )
572CB4 8D4001           LEA     EAX , 1 [EAX]
572CB7 EB00             JMP     572CB9
572CB9 C3               RET     NEAR


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: СПФ и оптимизатор
СообщениеДобавлено: Пн мар 05, 2012 18:30 
Mihail писал(а):
Очередная версия

Примерно на 2 Килобайта уменьшился размер spf4

Код:
VARIABLE CCC
: a CCC @ 16 CCC ! SWAP . CCC ! ;


А такой шаблон не оптимизируется?


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: СПФ и оптимизатор
СообщениеДобавлено: Пн мар 05, 2012 18:37 
! Как легче определить почему на Benchmark-е
вылетает исключение (в коде теста */ ) см. выше описание
комментирую
Код:
$*/$
и тест не прерывается.

P.S. Это только у меня проявляется?


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: СПФ и оптимизатор
СообщениеДобавлено: Пн мар 05, 2012 19:01 
Может будет полезно такое сравнение Spf4 и VFX
Код:
HEX
: a  DP @ OVER - 7E >  IF   DROP EXIT THEN
  DP @ HERE <> IF  DROP EXIT THEN
;
SEE a

572CA3 E87446FEFF  CALL    55731C  ( DP ) ( 004C8E50 8B1524214000 ) MOV    EDX, [00402124]
572CA8 8B00      MOV     EAX , [EAX]    ( 004C8E56 2BD3 )         SUB    EDX, EBX
572CAA 8B4D00      MOV     ECX , 0 [EBP]  ( 004C8E58 83FA7E )       CMP    EDX, 7E
572CAD 2BC1      SUB     EAX , ECX      ( 004C8E5B 0F8E07000000 ) JLE/NG 004C8E68
572CAF 3D7E000000  CMP     EAX , # 7E     ( 004C8E61 8B5D00 )       MOV    EBX, [EBP]
572CB4 8B4500      MOV     EAX , 0 [EBP]  ( 004C8E64 8D6D04 )       LEA    EBP, [EBP+04]
572CB7 8D6D04      LEA     EBP , 4 [EBP]  ( 004C8E67 C3 )           NEXT,
572CBA 7E07      JLE     572CC3         ( 004C8E68 8B1524214000 ) MOV    EDX, [00402124]
572CBC 8B4500      MOV     EAX , 0 [EBP]  ( 004C8E6E 3B1524214000 ) CMP    EDX, [00402124]
572CBF 8D6D04      LEA     EBP , 4 [EBP]  ( 004C8E74 0F8407000000 ) JZ/E   004C8E81
572CC2 C3      RET     NEAR           ( 004C8E7A 8B5D00 )       MOV    EBX, [EBP]
572CC3 E85446FEFF  CALL    55731C  ( DP ) ( 004C8E7D 8D6D04 )       LEA    EBP, [EBP+04]
572CC8 8B00      MOV     EAX , [EAX]    ( 004C8E80 C3 )           NEXT,
572CCA E8252EFFFF  CALL    565AF4  ( HERE ( 004C8E81 C3 )           NEXT,
572CCF 334500      XOR     EAX , 0 [EBP]
572CD2 8B4504      MOV     EAX , 4 [EBP]
572CD5 8D6D08      LEA     EBP , 8 [EBP]
572CD8 7407      JE      572CE1       
572CDA 8B4500      MOV     EAX , 0 [EBP]
572CDD 8D6D04      LEA     EBP , 4 [EBP]
572CE0 C3      RET     NEAR         
572CE1 C3      RET     NEAR 


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: СПФ и оптимизатор
СообщениеДобавлено: Пн мар 05, 2012 21:18 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
`Kopa писал(а):
! Как легче определить почему на Benchmark-е
вылетает исключение (в коде теста */ ) см. выше описание

Выложи этот тест куда нибудь. Если небольшой, кинь сюда.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: СПФ и оптимизатор
СообщениеДобавлено: Пн мар 05, 2012 21:28 
Mihail писал(а):
`Kopa писал(а):
! Как легче определить почему на Benchmark-е
вылетает исключение (в коде теста */ ) см. выше описание

Выложи этот тест куда нибудь. Если небольшой, кинь сюда.

Это стандартный тест из SPF4 расположен samples\bench\benchmark.f


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: СПФ и оптимизатор
СообщениеДобавлено: Вт мар 06, 2012 10:18 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
`Kopa писал(а):
! Как легче определить почему на Benchmark-е
вылетает исключение (в коде теста */ ) см. выше описание
комментирую
Код:
$*/$
и тест не прерывается.

Вчера под VirtualBox была такая-же ситуация.
Обнаружил, что : BB I I I */ ; компилит нечто несуразное, но разбираться
было некогда. Сегодня на работе вижу нормальный код и тест работает.

Код:
: BB I I I */ ;
SEE BB
57A4BF 8945FC           MOV     FC [EBP] , EAX
57A4C2 8B0424           MOV     EAX , [ESP]
57A4C5 8945F8           MOV     F8 [EBP] , EAX
57A4C8 8B0424           MOV     EAX , [ESP]
57A4CB 8945F4           MOV     F4 [EBP] , EAX
57A4CE 8B0424           MOV     EAX , [ESP]
57A4D1 8BC8             MOV     ECX , EAX
57A4D3 8B45F4           MOV     EAX , F4 [EBP]
57A4D6 F76DF8           IMUL    F8 [EBP]
57A4D9 F7F9             IDIV    ECX
57A4DB 8D6DFC           LEA     EBP , FC [EBP]
57A4DE C3               RET     NEAR


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: СПФ и оптимизатор
СообщениеДобавлено: Вт мар 06, 2012 16:05 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
`Kopa писал(а):
Пржалуй то, что оптимизатор отрабатывает
зачастую частные случаи "не додуманного" общего шаблона:)

Я действую от частного к общему. Новые более абстрактные
правила могут перекрывать собой старые жесткие. Чтобы
выявить невостребованные правила я написал программу:
Код:
0x500 CONSTANT DTSTMAX

CREATE DTSTCNTTAB DTSTMAX 1+ 2* ALLOT
DTSTCNTTAB DTSTMAX 1+ 2*  ERASE

: DTSTCNT DTSTMAX UMIN 2/ CELLS DTSTCNTTAB + 1+! ;

' DTSTCNT TO DTST

: DTST.
DTSTMAX  0 DO CR  I DUP 2* DTSTCNTTAB + @ 4 .0 SPACE
BASE @ HEX SWAP  4 .0   BASE !
2 +LOOP ;
\ критичные по быстродействию библиотеки
samples\bench\benchmark.f
samples\bench\bubble.f
samples\bench\queens.f
samples\ans\chess.f
lib\alg\md5-jz.f
lib\alg\lzss.f
lib\alg\rle.f 
lib\include\double.f
lib\include\ansi.f
lib\include\ansi-block.f
lib\include\string.f
lib\include\core-ext.f   
~mak\place.f
~mak\fl.f

S" RULES0.TXT" FLC>  DTST.

Затем
sort RULES0.TXT >RULES.TXT
в результате:
Код:
0000 000C
0000 001A
0000 001E
0000 0020
0000 002A
0000 0030
0000 0032
0000 0040
0000 004A
0000 005A
0000 005E
0000 0060
0000 0062
0000 0066
0000 0068
0000 006A
0000 006E
0000 0074
0000 007C
0000 0086
0000 0094
0000 0098
0000 009A
0000 00A2
0000 00A4
0000 00A6
0000 00AA
0000 00AC
0000 00B0
0000 00B6
0000 00B8
0000 00BA
0000 00C6
0000 00CC
0000 00CE
0000 00D0
0000 00D8
0000 00DA
0000 00DC
0000 00DE
0000 00E0
0000 00E6
0000 00EA
0000 00F8
0000 00FA
0000 00FC
0000 0106
0000 0108
0000 0114
0000 0116
0000 0118
0000 011A
0000 011C
0000 0120
0000 0126
0000 012A
0000 012E
0000 0130
0000 0132
0000 0136
0000 013C
0000 014A
0000 0154
0000 015A
0000 015C
0000 015E
0000 0160
0000 0164
0000 0166
0000 0168
0000 016A
0000 016C
0000 016E
0000 0170
0000 0176
0000 0178
0000 017A
0000 017C
0000 017E
0000 0182
0000 0184
0000 0186
0000 0188
0000 018A
0000 018C
0000 018E
0000 0190
0000 0192
0000 0194
0000 0196
0000 0198
0000 019A
0000 019C
0000 019E
0000 01A0
0000 01A2
0000 01A4
0000 01A6
0000 01A8
0000 01AA
0000 01AC
0000 01AE
0000 01B0
0000 01B2
0000 01B4
0000 01B8
0000 01BA
0000 01BC
0000 01BE
0000 01C0
0000 01C2
0000 01C4
0000 01C6
0000 01C8
0000 01CA
0000 01CC
0000 01CE
0000 01D0
0000 01D2
0000 01D4
0000 01D6
0000 01D8
0000 01DA
0000 01DC
0000 01DE
0000 01E0
0000 01E2
0000 01E4
0000 01E6
0000 01E8
0000 01EA
0000 01EE
0000 01F6
0000 01F8
0000 01FA
0000 01FC
0000 01FE
0000 0200
0000 0202
0000 0204
0000 0206
0000 0208
0000 020C
0000 0210
0000 0212
0000 0214
0000 0216
0000 0218
0000 021A
0000 021C
0000 021E
0000 0220
0000 0222
0000 0224
0000 0226
0000 0228
0000 022A
0000 022C
0000 022E
0000 0230
0000 0232
0000 0236
0000 0238
0000 023C
0000 023E
0000 0240
0000 0242
0000 0244
0000 0246
0000 0248
0000 024A
0000 024C
0000 024E
0000 0250
0000 0252
0000 0254
0000 0256
0000 0258
0000 025A
0000 025C
0000 025E
0000 0260
0000 0262
0000 0264
0000 0266
0000 0268
0000 026A
0000 026C
0000 026E
0000 0270
0000 0272
0000 0274
0000 0276
0000 0278
0000 027A
0000 027C
0000 027E
0000 0280
0000 0284
0000 0286
0000 028A
0000 028C
0000 028E
0000 0294
0000 0296
0000 0298
0000 029A
0000 029C
0000 029E
0000 02A0
0000 02A2
0000 02A4
0000 02A6
0000 02A8
0000 02AA
0000 02AC
0000 02AE
0000 02B0
0000 02B2
0000 02B4
0000 02B6
0000 02B8
0000 02BA
0000 02BC
0000 02BE
0000 02C0
0000 02C2
0000 02C4
0000 02C6
0000 02C8
0000 02CA
0000 02CC
0000 02CE
0000 02D0
0000 02D2
0000 02D4
0000 02D6
0000 02D8
0000 02DA
0000 02DC
0000 02DE
0000 02E0
0000 02E2
0000 02E4
0000 02E6
0000 02E8
0000 02EA
0000 02EC
0000 02EE
0000 02F0
0000 02F2
0000 02F4
0000 02F6
0000 02F8
0000 02FA
0000 02FC
0000 02FE
0000 0300
0000 0302
0000 0304
0000 0306
0000 0308
0000 030A
0000 030C
0000 0312
0000 0314
0000 0316
0000 0318
0000 031A
0000 031C
0000 031E
0000 0320
0000 0322
0000 0324
0000 0326
0000 0328
0000 032A
0000 032C
0000 032E
0000 0330
0000 0332
0000 0336
0000 0338
0000 033C
0000 033E
0000 0340
0000 0342
0000 0344
0000 0346
0000 034A
0000 034C
0000 034E
0000 0350
0000 0352
0000 0354
0000 0356
0000 0358
0000 035A
0000 035C
0000 035E
0000 0360
0000 0362
0000 0364
0000 0366
0000 0368
0000 036A
0000 036C
0000 036E
0000 0370
0000 0372
0000 0374
0000 0376
0000 0378
0000 037A
0000 037C
0000 037E
0000 0380
0000 0382
0000 0384
0000 0386
0000 0388
0000 038A
0000 038C
0000 038E
0000 0390
0000 0392
0000 0394
0000 0396
0000 0398
0000 039A
0000 039C
0000 039E
0000 03A0
0000 03A2
0000 03A4
0000 03A6
0000 03A8
0000 03AA
0000 03AC
0000 03AE
0000 03B0
0000 03B2
0000 03B4
0000 03B6
0000 03B8
0000 03BA
0000 03BC
0000 03BE
0000 03C0
0000 03C2
0000 03C4
0000 03C6
0000 03C8
0000 03CA
0000 03CC
0000 03CE
0000 03D0
0000 03D2
0000 03D4
0000 03D6
0000 03D8
0000 03DA
0000 03DC
0000 03DE
0000 03E0
0000 03E2
0000 03E4
0000 03E6
0000 03E8
0000 03EA
0000 03EC
0000 03EE
0000 03F0
0000 03F2
0000 03F4
0000 03F6
0000 03F8
0000 03FA
0000 03FC
0000 03FE
0000 0400
0000 0402
0000 0404
0000 0406
0000 0408
0000 040A
0000 040C
0000 0410
0000 0412
0000 0414
0000 0416
0000 041A
0000 041C
0000 041E
0000 0420
0000 0422
0000 0424
0000 0426
0000 0428
0000 042C
0000 042E
0000 0432
0000 0438
0000 043C
0000 043E
0000 0440
0000 0442
0000 0444
0000 0446
0000 0448
0000 044A
0000 044C
0000 044E
0000 0450
0000 0452
0000 0454
0000 0456
0000 0458
0000 045A
0000 045C
0000 045E
0000 0460
0000 0462
0000 0464
0000 0466
0000 0468
0000 046A
0000 046C
0000 046E
0000 0470
0000 0472
0000 0474
0000 0476
0000 0478
0000 047A
0000 047C
0000 047E
0000 0480
0000 0482
0000 0484
0000 0486
0000 0488
0000 048A
0000 048C
0000 048E
0000 0490
0000 0492
0000 0494
0000 0496
0000 0498
0000 049A
0000 049C
0000 049E
0000 04A0
0000 04A2
0000 04A4
0000 04A6
0000 04A8
0000 04AA
0000 04AC
0000 04AE
0000 04B0
0000 04B2
0000 04B4
0000 04B6
0000 04B8
0000 04BA
0000 04BC
0000 04BE
0000 04C0
0000 04C2
0000 04C4
0000 04C6
0000 04C8
0000 04CA
0000 04CC
0000 04CE
0000 04D0
0000 04D2
0000 04D4
0000 04D6
0000 04D8
0000 04DA
0000 04DC
0000 04DE
0000 04E0
0000 04E2
0000 04E4
0000 04E6
0000 04E8
0000 04EA
0000 04EC
0000 04EE
0000 04F0
0000 04F2
0000 04F4
0000 04F6
0000 04F8
0000 04FA
0000 04FC
0000 04FE
0002 0034
0002 0042
0002 0044
0002 0064
0002 007E
0002 0080
0002 008E
0002 009C
0002 009E
0002 00A0
0002 00B4
0002 00F0
0002 00F2
0002 00F4
0002 0128
0002 013E
0002 0146
0002 01F0
0002 0234
0002 033A
0004 0012
0004 0016
0004 0084
0004 00C4
0004 00C8
0004 00E2
0004 0102
0004 0110
0004 0112
0004 012C
0004 0140
0004 0142
0004 0144
0004 01F2
0004 01F4
0004 042A
0006 0078
0006 0088
0006 008A
0006 0180
0006 023A
0006 0290
0006 0430
0008 0022
0008 00D4
0008 011E
0008 0158
0008 020E
0008 0292
0008 0348
0010 003E
0010 0056
0010 007A
0010 0082
0010 008C
0010 0288
0010 0334
0012 002E
0012 0048
0012 0072
0012 00BC
0012 00BE
0012 0156
0012 0162
0012 01B6
0014 00A8
0014 0282
0016 0092
0016 013A
0018 043A
0020 0028
0020 01EC
0022 004E
0022 0172
0022 0174
0022 0310
0024 00B2
0026 00D2
0028 0036
0028 0096
0028 014E
0030 00CA
0032 0058
0032 0418
0034 010C
0034 0122
0036 00D6
0038 0070
0038 010E
0042 0076
0044 0046
0050 0090
0052 0052
0054 00E4
0060 014C
0060 0436
0062 0434
0066 0138
0072 002C
0072 003A
0082 0152
0092 0054
0094 030E
0096 0008
0112 003C
0120 0148
0120 0150
0122 00EC
0122 0124
0140 010A
0148 00C0
0150 0014
0160 00AE
0164 0100
0166 006C
0178 00E8
0186 0026
0188 00EE
0190 00FE
0194 00F6
0234 0104
0246 004C
0262 0134
0268 0050
0362 0038
0374 00C2
0522 005C
0536 000E
0598 000A
0618 001C
0724 0018
0730 0010
0744 0000
0766 040E
0776 0004
0920 0006
1290 0024
1538 0002
4040 020A

Первый столбик количество использования правил, второй номер правил.
Какие еще библиотеки следовало-бы протестировать на использование правил?
Думаю, лишние правила удалить.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 366 ]  На страницу Пред.  1 ... 19, 20, 21, 22, 23, 24, 25  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB