JIT Grunt

Datum: 8. Februar 2017
Autor*in: Florian Müller


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.


Dieser Artikel wurde verschlagwortet unter:


Kommentare

Selber kommentieren:






Weitere Beiträge zum Thema Technologie


Apple Touch Icons nutzen

Autor*in: Bastian Schwarz


Projekte // Technologie // User Experience & Design


Ich habe mal ein wenig recherchiert und möchte hier das Ergebnis mitteilen. Die Apple Touch Icons können generell benutzt werden um Apps oder Webseiten auf z.B. den Startbildschirm zu pinnen. Ist bei der Webseite dann ein solches Icon hinterlegt wird das „Lesezeichen“ mit ihm hinterlegt und man erhält so einen schönen Wiedererkennungswert. Generell sollten die …


Beitrag lesen
17
OKT
12

Linux Ordner und Datei Rechte

Autor*in: Florian Müller


Technologie


Da ich gerade darauf gestoßen bin und es für einige Verwirrung bei mir und ein paar anderen gesorgt hat (vor allem bei mir), möchte ich meine Erkenntnisse über das Thema Linux Datei und Ordner Rechte mit euch teilen. Man stelle sich vor, man hat eine Datei die in einem Ordne liegt, welche die folgenden Rechte …


Beitrag lesen
02
AUG
16

Kleiner Postfix- Guide

Autor*in: Sascha Nützel


Technologie // Über den Tellerrand


Nachdem die letzten Tage „kleinere“ Postfix Probleme aufgetreten sind, hier mal ein kleiner Guide wie man sich den Mail- Queue anschauen und bereinigen kann. Mail- Queue anschauen mailq | less Um die Anzahl der Mail’s in der Queue anzuzeigen, je nach Menge kann dies ein paar Minuten dauern: mailq | egrep ‚^–‚ Um den Queue von …


Beitrag lesen
14
FEB
17

Google Analytics in Verbindung mit Google Tag Manager

Autor*in: Stefan Oswald


Projekte // Technologie


Wenn Google Analytics über den Google Tag Manager eingebunden wird, ist zu beachten, dass trotzdem noch die jeweilige GA-Account-ID mit angegeben werden muss. Das kann man entweder im Header des Codes machen, oder direkt bei jedem Tracking-Aufruf. Bei GAv2 sieht das z.B. so aus: _gaq.push([‚_setAccount‘, ‚UA-123456789-0‘]); _gaq.push([‚_trackEvent‘, ‚category‘, ‚action‘, ‚label‘]); Der GTM bindet logischer Weise …


Beitrag lesen
09
MAI
14