paint-brush
Vai esat noguris no Slow Maven Builds? Iespējams, vēlēsities izmēģināt MVNDautors@realgpp
Jauna vēsture

Vai esat noguris no Slow Maven Builds? Iespējams, vēlēsities izmēģināt MVND

autors Giuseppe Baglio4m2025/01/28
Read on Terminal Reader

Pārāk ilgi; Lasīt

MVND paātrina Maven būvējumus, atkārtoti izmantojot JVM gadījumus, samazinot izveides laiku līdz pat 40%. Pateicoties vienkāršai integrācijai un Apache Maven komandas atbalstam, tas ir spēles mainītājs izstrādātājiem.
featured image - Vai esat noguris no Slow Maven Builds? Iespējams, vēlēsities izmēģināt MVND
Giuseppe Baglio HackerNoon profile picture
0-item

Ja kādreiz esat atradis, ka bungojat ar pirkstiem uz sava galda un gaidāt, kad Maven konstrukcija tiks pabeigta, jūs neesat viens. Būvēšanas laiki var būt nozīmīgs šķērslis izstrādes darbplūsmām, īpaši lieliem projektiem . MVND , Maven Daemon , ir spēles mainīšanas rīks, kas ir iestatīts, lai mainītu jūsu veidošanas procesu.


Maven Daemon ir Apache Maven komandas iniciatīva. MVND pamatā ir paredzēts vienai lietai: paātrināt Maven būves . Uzturot JVM siltu un atkārtoti izmantojot to visās versijās, MVND novērš papildu izmaksas, kas saistītas ar jauna JVM palaišanu katrai būvei, tādējādi ietaupot ievērojami laiku .


Taču ātrums nav vienīgais triks MVND piedurknē. Tas sniedz galdam citas priekšrocības :

- Zibens palaišanas laiki

- Viedie kešatmiņas mehānismi

- Paralēlas projektu veidošanas iespējas

- Samazināta atmiņas platība


Šajā rakstā es nenogurdināšu jūs ar instalēšanas rokasgrāmatām vai konfigurācijas detaļām , jo oficiālā dokumentācija lieliski iekļauj šīs detaļas. Tā vietā mēs koncentrēsimies uz reāliem piemēriem, lai redzētu MVND darbībā. Mēs novērtēsim tā veiktspēju, salīdzināsim ar tradicionālajām versijām un parādīsim, kā tas patiesi spīd. Neatkarīgi no tā, vai strādājat pie neliela, vienkārša projekta vai lielas, sarežģītas vairāku moduļu sistēmas , šī raksta beigās jūs sapratīsit, kāpēc MVND ir būtisks papildinājums jūsu izstrādes darbplūsmai .


Reālās pasaules veiktspēja: Maven pret MVND Build Times

Lai patiesi izprastu MVND ietekmi, apskatīsim dažus reālās pasaules izveides laikus no diviem dažādiem projektiem. Tālāk sniegtie dati salīdzina MVND un tradicionālo Maven versiju veiktspēju, parādot tā taustāmās priekšrocības.

1. gadījuma izpēte: vienkāršs projekts

Pirmajā piemērā mēs izmantojam Adobe AEM arhetipu repozitoriju² — standarta vairāku moduļu projektu, kas kalpo kā de facto veidne AEM projektu inicializācijai. Šis projekts ir pazīstams ar tā ātrajiem izveides laikiem, padarot to par lielisku kandidātu MVND ietekmes novērošanai.


Vienkāršs projekts — mvn (pa kreisi) pret mvnd (pa labi) izveides laiks


  • Maven izveides laiks: 34,669 sekundes
  • MVND izveides laiks: 20,816 sekundes


MVND samazina izveides laiku par aptuveni 40% , ietaupot vairāk nekā 11 sekundes. Lai gan dažiem atsevišķiem moduļiem, izmantojot MVND, var būt nedaudz ilgāks izveides laiks, kopējais efektivitātes pieaugums ir nenoliedzams. Šis uzlabojums ir saistīts ar MVND spēju efektīvāk apstrādāt paralēlismu, optimizējot veidošanas procesu.

2. gadījuma izpēte: Sarežģīts projekts

Mūsu otrais piemērs ir sarežģīts, reāls projekts no vienas no mana klienta ražošanas vidēm. Šajā projektā, kas izveidots, izmantojot AEM arhetipu, ir iekļauti daudzi kodola (Java) un lietotāja interfeisa priekšgala (Node.js) koda vienību testi ar 697 Java testiem un 799 Node.js testiem.


Komplekss projekts — mvn (pa kreisi) vs mvnd (pa labi) izveides laiks


  • Maven izveides laiks: 02:52 minūtes
  • MVND izveides laiks: 01:41 minūtes

MVND demonstrē iespaidīgu izveides laika samazinājumu par 41% , ietaupot 71 sekundi. Neskatoties uz to, ka daži moduļi ar MVND aizņem nedaudz ilgāku laiku, kopējais izveides laika uzlabojums ir būtisks. Tas liecina, ka MVND optimizācijas stratēģijas ir īpaši izdevīgas arī sarežģītos, vairāku moduļu projektos.

Secinājums

Atkārtoti izmantojot JVM gadījumus un optimizējot paralēlo izpildi , MVND piedāvā ievērojamus laika ietaupījumus visu izmēru projektos. Neatkarīgi no tā, vai strādājat pie vienkārša prototipa vai sarežģītas uzņēmuma lietojumprogrammas, MVND var racionalizēt jūsu veidošanas procesu , ļaujot jums koncentrēties uz vissvarīgāko .


MVND izceļas trīs galveno iemeslu dēļ:

  • Ātrāks izveides laiks: iepriekš minētie piemēri parāda, ka ar MVND izveidošanas laiks ir uzlabojies par aptuveni 40% . Lai gan precīzs ieguvums var atšķirties atkarībā no jūsu projekta lieluma un sarežģītības, jūs varat sagaidīt konsekventus veiktspējas uzlabojumus plašā projektu klāstā, padarot MVND par uzticamu izvēli, lai paātrinātu jūsu būvējumus.


  • Vienkārša pieņemšana: kā Maven by design aizstājējs, MVND ir nepieciešamas minimālas izmaiņas esošajos iestatījumos, padarot to viegli integrējamu jūsu darbplūsmā.


  • Uzticamība: Apache Maven komandas atbalstīts MVND ir uzticams un labi atbalstīts rīks, kas atbilst nozares standartiem.

Pēdējās domas

Pasaulē, kurā katra sekunde ir svarīga, MVND izstrādātājiem kļūst par spēļu mainītāju, dodot viņiem iespēju veidot ātrāk, viedāk un efektīvāk. Ar savu pierādīto spēju saīsināt izveides laiku līdz pat 40% MVND ir vienkāršs risinājums ikvienam, kas vēlas optimizēt savu darbplūsmu un palielināt produktivitāti.


Bet ne tikai pieņem manu vārdu — izbaudiet atšķirību pats . Izmēģiniet MVND savos projektos un redziet, kā tas pārveido jūsu veidošanas procesu. Neatkarīgi no tā, vai strādājat pie neliela prototipa vai liela mēroga uzņēmuma lietojumprogrammas, MVND ir rīks, kas palīdz koncentrēties uz to, kas patiešām ir svarīgs: ātrākai augstas kvalitātes programmatūras piegādei.

[¹] https://github.com/apache/maven-mvnd

[²] https://github.com/adobe/aem-project-archetype