Node.js
Node.js CI στις GitHub Actions
Το npm ci γράφει δεκάδες χιλιάδες μικρά αρχεία σε κάθε εκτέλεση.
95s → 11s
npm ci
6μ → 2μ
Πλήρης αγωγός
6 GB/s
Διακίνηση δίσκου
Γιατί συμβαίνει
Τι να αλλάξει
- Αποθηκεύστε προσωρινά ~/.npm και επαναφέρετε το node_modules απευθείας αντί να το εγκαταστήσετε ξανά
- Μετακίνηση στο pnpm — το κατάστημά του με διεύθυνση περιεχομένου κάνει τις εγκαταστάσεις σχεδόν αμέσως σε μια ζεστή κρυφή μνήμη
- Τρέξτε σε έναν δρομέα με τοπικό NVMe. αυτός ο φόρτος εργασίας είναι συνδεδεμένος σε δίσκο και όχι σε CPU
- Χρησιμοποιήστε το --prefer-offline, ώστε μια ζεστή προσωρινή μνήμη να μην επικυρώνεται εκ νέου μέσω του δικτύου
Node.js στο runnerhut
Το επόμενο build σας μπορεί να είναι διπλάσια γρήγορο, στη μισή τιμή
Ξεκινήστε δωρεάν. Η αποχώρηση είναι η ίδια μία γραμμή — δημοσιεύουμε κι αυτό το diff.
Σχετικά
RustΤο Cargo δημιουργεί ξανά ολόκληρο το γράφημα εξάρτησης σχεδόν σε κάθε εκτέλεση CI.ΠήγαινεΟι εκδόσεις Go είναι γρήγορες τοπικά και ανεξήγητα αργές στο CI.PythonΗ εγκατάσταση του pip διαρκεί λίγα λεπτά και το pytest εκτελείται σε έναν μόνο πυρήνα.JavaΚάθε έκδοση κατεβάζει εκ νέου τις ίδιες εξαρτήσεις Maven ή Gradle.