git-annex-benchmark(1) General Commands Manual git-annex-benchmark(1)

git-annex-benchmark - بنچمارک و سنجش کارایی دستورات git-annex

git annex benchmark [criterionopts] ( -- command [; command] | --databases=N )

هنگامی که git-annex با پشتیبانی از قابلیت بنچمارک کامپایل و ساخته شده باشد، از این دستور می‌توان برای سنجش کارایی (بنچمارک) هر یک از دستورات دیگر git-annex استفاده کرد. برای مثال "git annex benchmark -- get ." دستور "git annex get" را بنچمارک خواهد کرد.

دستوری که بنچمارک می‌شود در مخزن فعلی git-annex اجرا می‌گردد. این دستور تنها یک بار اجرا نمی‌شود؛ فرآیند بنچمارک آن را چندین بار اجرا می‌کند تا نتیجه‌ای از نظر آماری معنادار به دست آید.

هنگام بنچمارک کردن عملیاتی مانند "git annex get"، اولین اجرا اغلب کارهای بسیار بیشتری نسبت به اجراهای بعدی انجام می‌دهد. برای اینکه بنچمارک عملیاتی مانند دریافت یک فایل را هر بار تکرار کند، می‌توان دستورات اضافی را که با ';' جدا شده‌اند فهرست کرد. (توجه داشته باشید که ';' باید برای شل اسکیپ شود.) اسکریپت ترکیبی به‌طور مکرر توسط بنچمارک اجرا خواهد شد. یک نمونه از استفاده از این قابلیت:


git annex benchmark -- get . ';' drop .

توجه داشته باشید که git-annex benchmark هنگام بنچمارک کردن، فرآیندهای جدید git-annex ایجاد (fork) نمی‌کند؛ بلکه دستور مورد نظر برای بنچمارک را به‌صورت داخلی فراخوانی می‌کند و بنابراین از بار اضافی راه‌اندازی (startup overhead) git-annex جلوگیری می‌کند. (بنابراین سعی نکنید از آن برای بهینه‌سازی زمان راه‌اندازی git-annex استفاده کنید.)

پیش از "--" می‌توان از هر یک از گزینه‌های خط فرمان کتابخانه criterion استفاده کرد.

هر گزینه‌ای که git-annex به‌طور معمول می‌پذیرد می‌تواند پس از دستور مورد بنچمارک قرار گیرد.

گزینه --databases=N به جای یک دستور، نحوه استفاده git-annex از پایگاه‌های داده sqlite را بنچمارک می‌کند. N تعداد مواردی است که باید بنچمارک شوند.

خروجی دستوراتی که بنچمارک می‌شوند مانند معمول به خروجی استاندارد و خطای استاندارد ارسال می‌شود. اغلب ایده خوبی است که از --quiet استفاده کنید تا از خروجی‌های غیرضروری جلوگیری شود، مگر اینکه تولید آن خروجی بخشی از چیزی باشد که می‌خواهید بنچمارک کنید.

گزارش بنچمارک به‌طور پیش‌فرض به خروجی استاندارد ارسال می‌شود، هرچند می‌توان از گزینه‌های criterion برای هدایت آن به یک فایل استفاده کرد. به عنوان مثال:


git annex benchmark -o bench -- find >/dev/null

git-annex(1)

Joey Hess <id@joeyh.name>