هذه الأداة هي عمل مستمر. إنه ليس جاهزًا بالكامل بعد ، ولكن يمكنك تجربته.
Perfguard هو محلل ثابت مع التركيز على الأداء.
وهو يدعم وضعين تشغيل:
perfguard lint المشكلات المحتملة ، ويعمل مثل التحليل الثابت التقليديperfguard optimize ملفات تعريف وحدة المعالجة المركزية لتحسين دقة التحليلميزات مفتاح PerfGuard:
perfguard optimize--fix (QuickFixes)(*) لا يحاول تحميل أهداف التحليل في الذاكرة مرة واحدة.
فيما يلي بعض الأمثلة على ما يمكن أن تفعله من أجلك:
قم بتثبيت ثنائي perfguard تحت $(go env GOPATH)/bin :
$ go install -v github.com/quasilyte/go-perfguard/cmd/perfguard@latestيوصى بجمع ملامح وحدة المعالجة المركزية على سير العمل الواقعية.
لتطبيق CLI قصير العمر يمكن أن يكون تشغيل كامل. لتطبيق طويل المعيشة ، قد ترغب في تشغيل التنميط لمدة دقيقة أو أكثر ، ثم احفظه في ملف.
الملفات الشخصية التي يتم الحصول عليها من المعايير ليست تمثيلية وقد تؤدي إلى نتائج دون المستوى الأمثل.
قد تظهر النقاط الساخنة في الملف الشخصي في ثلاثة أماكن رئيسية:
تحسين الرمز الخاص بك أمر واضح ومباشر. قم بتشغيل Perfguard على جذر مشروعك:
$ perfguard optimize --heatmap cpu.out ./... هذا سيقترح فقط إصلاحات إلى الفئة (2) .
لتحسين الرمز من (3) لدينا عدة خيارات.
الخيار الأول هو الأفضل. يمكنك استخدام ملف تعريف وحدة المعالجة المركزية نفسها لتحسين المكتبة. قم بتشغيل Perfguard على جذر رمز مصدر المكتبة تمامًا كما فعلت مع التطبيق الخاص بك.
يمكن للخيار الثاني أن يعمل للحالات التي تريد نشرها ثنائيًا محسّنًا مع عدم وجود وسيلة لإصلاح التبعيات باستخدام الخيار الأول. اتبع هذه الخطوات:
# Make dependencies easily available for perfguard.
$ go mod vendor
# Run the analysis over the vendor.
# We use --fix argument to immediately apply the suggested changes.
$ perfguard optimize --heatmap cpu.out --fix ./vendor/...
# Build the optimized binary.
$ go build -o bin/app ./cmd/myapp بعد ذلك ، يمكنك إعادة التغييرات إلى ./vendor أو إزالتها إذا كنت لا تستخدم Vendoring.