| OCAMLCP(1) | General Commands Manual | OCAMLCP(1) |
نام (NAME)
ocamlcp, ocamloptp - کامپایلرهای پروفایلسازی OCaml
خلاصه دستور (SYNOPSIS)
ocamlcp [ گزینههای ocamlc ] [ -P flags ] filename ...
ocamloptp [ گزینههای ocamlopt ] [ -P flags ] filename ...
توضیحات (DESCRIPTION)
دستورهای ocamlcp و ocamloptp پیشانههایی برای ocamlc(1) و ocamlopt(1) هستند که کد منبع را ابزارگذاری (instrument) میکنند؛ یعنی کدهایی را برای ثبت تعداد دفعات فراخوانی توابع، پیموده شدن شاخههای شرطی و غیره به آن میافزایند. اجرای کد ابزارگذاریشده، یک پروفایل اجرایی در فایل ocamlprof.dump تولید میکند که با استفاده از ocamlprof(1) قابل خواندن است.
ocamlcp همان آرگومانها و گزینههای ocamlc(1) را میپذیرد و ocamloptp نیز همان آرگومانها و گزینههای ocamlopt(1) را میپذیرد. تنها یک استثنا وجود دارد: در هر دو مورد، گزینهٔ -pp پشتیبانی نمیشود. اگر نیاز به پیشپردازش فایلهای منبع خود دارید، باید این کار را پیش از فراخوانی ocamlcp یا ocamloptp بهصورت جداگانه انجام دهید.
گزینهها (OPTIONS)
علاوه بر گزینههای ocamlc(1) یا ocamlopt(1) ، دستورهای ocamlcp و ocamloptp گزینهای برای کنترل نوع اطلاعات پروفایلسازی میپذیرند: گزینهٔ -P letters . این letters مشخص میکنند کدام بخشهای برنامه باید پروفایلسازی شوند:
- a
- تمام گزینهها
- f
- فراخوانیهای توابع: یک نقطهٔ شمارش در ابتدای بدنهٔ هر تابع تنظیم میشود
- i
- if ... then ... else: نقاط شمارش در هر دو شاخهٔ then و else تنظیم میشوند
- l
- حلقههای while و for: یک نقطهٔ شمارش در ابتدای بدنهٔ حلقه تنظیم میشود
- m
- شاخههای match: یک نقطهٔ شمارش در ابتدای بدنهٔ هر شاخه از یک تطبیق الگو (pattern-matching) تنظیم میشود
- t
- شاخههای try ... with: یک نقطهٔ شمارش در ابتدای بدنهٔ هر شاخه از یک دریافتکنندهٔ استثنا تنظیم میشود
بهعنوان مثال، کامپایل با ocamlcp -P film فراخوانی توابع، if ... then ... else ...، حلقهها و تطبیق الگو را پروفایلسازی میکند.
فراخوانی ocamlcp(1) یا ocamloptp(1) بدون گزینهٔ -P بهطور پیشفرض معادل -P fm خواهد بود، به این معنی که فقط فراخوانی توابع و تطبیق الگو پروفایلسازی میشوند.
نکته: برای سازگاری با نسخههای پیشین، ocamlcp(1) همچنین گزینهٔ -p را با همان آرگومان و معنای -P میپذیرد.
همچنین ببینید (SEE ALSO)
ocamlc(1), ocamlopt(1), ocamlprof(1).
The OCaml user's manual، فصل
"Profiling".