Categories: Technologie

JIT Grunt

Dieser Beitrag nimmt Bezug auf meinen vorherigen Beitrag zur Optimierung von Grunt. Wer diesen nicht kennt, wird mit diesem hier nicht viel anfangen können.


Wer den Concurrent Task und dazu auch den Time-Grunt einsetzt, mag schon mal bemerkt haben, dass bei jedem Concurrent Task sämtliche Tasks geladen. Auf dem DEV dauert dies auch mal gerne 2 Sekunden und das für jeden Concurrent Task. Daher habe ich mal geschaut, was man daran noch optimieren kann und bin fündig geworden. JIT Grunt. Inzwischen ist dies auch Teil von load-grunt-config und muss dort nur noch konfiguriert werden. Hierbei musste ich ein extra Mapping konfigurieren, welches den usebanner task auf das Grunt-Banner plugin gematched hat. Nachfolgender Code muss in die gruntfile.js eingefügt werden:

...
require('load-grunt-config')(grunt, {
  jitGrunt: {
    staticMappings: {
      usebanner: 'grunt-banner'
    }
  },
  data: {
...

Vor der Integrierung von JIT Grunt sah die abschließende Statistik so aus:

 [sshexec] [exec] Execution Time (2017-02-08 09:09:19 UTC+1)
 [sshexec] [exec] loading tasks 2s ▇▇▇▇ 10%
 [sshexec] [exec] concurrent:test 4.6s ▇▇▇▇▇▇▇▇ 23%
 [sshexec] [exec] concurrent:production 12.4s ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 63%
 [sshexec] [exec] filerev_replace:production 536ms ▇ 3%
 [sshexec] [exec] Total 19.8s

Nachdem ich die oben genannte Config zur Gruntfile.js hinzugefügt habe, war das deployen auf den DEV deutlich schneller. Bei dem NSG Facelift war es eine Ersparnis von knapp 5 Sekunden.

 [sshexec] [exec] Execution Time (2017-02-08 09:12:13 UTC+1)
 [sshexec] [exec] loading tasks 484ms ▇▇ 3%
 [sshexec] [exec] concurrent:test 2.6s ▇▇▇▇▇▇ 17%
 [sshexec] [exec] concurrent:production 11s ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 74%
 [sshexec] [exec] filerev_replace:production 545ms ▇▇ 4%
 [sshexec] [exec] Total 14.9s

Gerade wenn man mal öfters auf den Dev deployen muss, summieren sich diese 5 Sekunden und man hat eine deutliche Ersparnis.

Florian Müller

Web-Entwickler bei infomax am Standort Bremen

Share
Published by
Florian Müller

Recent Posts

„Könnte was für mich sein!“ Das war die infomax Coding Challenge.

Wie können wir Schülerinnen und Schüler für die Informatik begeistern – und ihnen spannende berufliche…

4 Tagen ago

Lunch & Learn: XR und die virtuelle Welt!

Was ist AR,MR,VR und XR? Und wie ist es selber in der virtuellen Welt zu…

1 Woche ago

imx.Platform Lab: Einblicke, Austausch und Inspiration

Vergangene Woche fand unser jährliches Netzwerk-Event der imx.Daten-und Serviceplattform statt. So viel sei vorab gesagt…

2 Monaten ago

imx.Platform News: Neue und deutlich erweiterte KI-Services

imx.Platform-Kunden nutzen bereits seit einigen Jahren Services aus dem Bereich der Künstlichen Intelligenz (KI), wenn…

3 Monaten ago

#imxkickoff2024: Was war. Was kommt. Was bleibt.

Wie geht man am besten an einen Blogbeitrag über den Jahresauftakt #imxkickoff2024 des infomax-Teams vergangene…

3 Monaten ago

Tag der Ausbildung am 06. Oktober 2023 in Traunstein

Phil, Stefan und Vroni berichten vom Tag der Ausbildung in Traunstein, der größten Bildungsmesse in…

6 Monaten ago