Це команда hatari_profile, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн емулятор Windows або онлайн-емулятор MAC OS
ПРОГРАМА:
ІМ'Я
hatari_profile - постпроцесор для даних профайлера Hatari
СИНТАКСИС
hatari_profile.py [параметри]
ОПИС
Сценарій Python для постобробки даних, створених командами "збереження" Hatari Profiler, обидва для
ЦП і DSP:
зберегти профіль
збереження dspprofile
Він може надавати інформацію про використання процесора на функціональному рівні (ЦП і DSP) для будь-чого
Записи профайлера Hatari: кількість інструкцій, цикли процесора та залежно від процесора,
також промахи кешу інструкцій або відмінності циклів.
Цю інформацію можна надати у вигляді списку ASCII найважчих функцій, у вигляді графіків викликів (if
дані профілю включають інформацію про абонента) або як експорт у формат callgrind, який може бути
переглядається в (Linux) Kcachegrind GUI.
ВАРІАНТИ
Викликаючи hatari_profile без аргументів перераховує всі свої параметри.
ВИКОРИСТАННЯ ПРИКЛАДИ
Незалежно від того, чи містять дані профілю якусь інформацію про символи, ви повинні завжди
надайте скрипту всі відповідні символи налагодження, інакше витрати можуть бути неправильно призначені
до символів, що передують цим витратам.
Це постобробляє дані профілю для EmuTOS (ROM), при цьому файл символів має фіксовані/абсолютні значення
адреси (-a), показує статистику (-s) і верхні списки (-t), але обмежує вихід списку
будь-що, що займає понад 2% (-l 2) і включає витрати на "розповсюджені" виклики підпрограм (-p):
-------------------------------------------------- -----------
$ hatari_profile.py -a etos512k.sym -st -l 2 -p etos-boot.txt
Обробник даних профілю Hatari
Розбір інформації про адресу абсолютного символу з etos512k.sym...
1538 рядків із 1236 кодовими символами/адресами, проаналізованими, 0 невідомими.
Розбір інформації профілю з etos-boot.txt...
Оброблено 16993 рядків з 465 функціями.
Інформація про профіль процесора з 'etos-boot.txt':
- Hatari v1.6.2+ (15 квітня 2013 р.), ядро CPU OldUAE
Час перебування в профілі = 4.60740с.
Дзвінки:
- max = 1800, в ___mulsi3 на 0xe60790, на рядку 16477
- 16659 всього
Виконані інструкції:
- max = 315254, у _timeout_gpip+38 на 0xe06fd8, на рядку 3237
- 3074165 всього
Використані цикли:
- max = 6311628, у _timeout_gpip+38 на 0xe06fd8, на рядку 3237
- 36957124 всього
Дзвінки:
10.80% 10.88% 1800 ___мульси3
8.04% 8.16% 1339 _memcpy
5.20% 0.26% 866 _int_timerc
4.61% 768 Колесо_виклику_користувача
3.86% 3.86% 643 _хв
3.76% 3.82% 627 _сті
3.76% 3.76% 627 _cli
3.30% 3.30% 550 _bcostat4
Виконані інструкції:
61.58% 61.79% 1892940 _timeout_gpip
8.62% 9.33% 264918 _draw_rect
4.96% 4.98% 152582 _run_calibration
4.06% 4.09% 124944 _blank_out
3.22% 99134 мемін
Використані цикли:
61.58% 62.01% 22759756 _timeout_gpip
5.69% 6.85% 2104464 _draw_rect
4.29% 1586108 мемін
4.19% 4.22% 1547768 _run_calibration
3.04% 3.07% 1122816 _blank_out
2.88% 2.98% 1065272 _stop_until_interrupt
-------------------------------------------------- -----------
Це створює файли callgraph GraphViz (-g) і файл даних callgrind Kcachegrind (-k) з
Профіль Bad Mood (Doom BSP viewer). Символи для програми є відносними до розділу TEXT
(-r), виклики деяких процедур переривання в програмі ігноруються, оскільки вони не є реальними
дзвінки, вузли callgraph, що використовують понад 2%, виділені, і є деякі варіанти для обмеження
і спростіть графік:
-------------------------------------------------- -----------
$ hatari_profile.py -r bmsym.sym
-k -g -p --emph-limit 2.0 --limit 0.5
--ignore-to framecounter,new_vbi,stabilizer_b
--компактний --без листків --без проміжного
badmood-profile.txt
Обробник даних профілю Hatari
Розбір інформації про адресу відносного символу TEXT із bmsym.sym...
1023 рядків із 392 кодовими символами/адресами, проаналізованими, 0 невідомими.
Розбір інформації профілю з badmood-profile.txt...
Оброблено 1420 рядків з 63 функціями.
Ігнорування 29 перемикань на лічильник кадрів
Ігнорування 9 перемикань на stabilizer_b
Ігнорування 8 перемикачів на new_vbi
З усіх 1562 перемикачів проігноровано 56 для типу(ів) ['r', 'u', 'x'].
Створення файлу callgrind 'badmood-profile.cg'...
Створення файлу DOT callgraph 'badmood-profile-0.dot'...
Створення файлу DOT callgraph 'badmood-profile-1.dot'...
Створення файлу DOT callgraph 'badmood-profile-2.dot'...
Створення файлу DOT callgraph 'badmood-profile-3.dot'...
Інформація про профіль ЦП із 'badmood-profile.txt':
- Hatari v1.6.2+ (10 квітня 2013 р.), ядро ЦП WinUAE
-------------------------------------------------- -----------
Використовуйте hatari_profile онлайн за допомогою служб onworks.net