Composer 2.x: i třikrát rychlejší instalace vašich projektů

Nový Composer si zatím stáhnete jenom v podobě zdrojového kódu, který je potřeba zkompilovat do spustitelného balíčku, ale to nic nebrání jeho otestování. Slibuje totiž výrazné zvýšení své rychlosti a optimalizaci spotřeby systémových zdrojů.
reklama

Když jsem četl článek na webu bitExpert, zajásal jsem. Autor popisuje, jak je nový Composer dvaapůlkrát rychlejší při instalaci e-commerce platformy Magento. Tu sice nepoužívám, ale rozhodl jsem se nový Composer vyzkoušet v kombinaci s Drupalem 8.

Jakkoli je správa Drupalu přes Composer návyková, zejména pokud v projektu používáte i knihovny třetích stran, je to přeci jenom časově náročnější než u klasické instalace. Dříve jste si stáhli nějaký modul v administraci nebo přes drush prakticky okamžitě, dnes spouštíte Composer a čekáte, než proběhne jeho kontrola a následně stažení balíčků.

Composer 2.x slibuje výraznou optimalizaci, což vzbudilo mé nadšení. Měl by mít i menší spotřebu paměti. To bych ocenil asi více než tu rychlost. Takto musím u řady projektů spouštět composer update na počítači, na vzdálený server nakopírovat composer.json & lock a tam pak spustit composer install. Jinak Composer na serveru či hostingu havaruje na nedostatku paměti.

Spotřebu paměti ale změřit neumím, takže jsem se potěšil alespoň lepšími čísly u času instalace.

Jak si rozběhnout Composer 2.x

Nejprve něco málo k instalaci aktuální vývojové verze Composeru. Pokud kouknete na jeho domovskou stránku, najdete tam ke stažení poslední snapshot i stable verzi. Ale ty se týkají jedničkové řady.

Instrukce k instalaci ze zdrojového kódu na GitHubu najdete poněkud ukryté, a to na konci dokumentu Contributing to Composer. Tedy:

  • Stáhnete z GitHubu klon repozitáře
  • Potřebujete fungující composer v jakékoli dosavadní verzi
  • Spustíte instalaci dle příkazu ve zmíněném dokumentu

Nemusíte se bát, zkompilovaný Composer nepřepíše balíček ve vašem systému. Najdete jej v podsložce bin/composer, tam kde jste spustili sestavení ze zdrojového kódu.

Jak jsem měřil rychlost Composeru s Drupalem

Příkaz pro instalaci Drupalu v aktuální verzi pomocí composeru je následující:

composer create-project drupal/recommended-project

Vytvořil jsem tedy skript run.sh s následujícím obsahem:

#!/bin/bash
composer create-project drupal/recommended-project

Ten jsem následně spouštěl příkazem time bash ./run.sh.

Výsledky jsou následující:

PHP 7.3.9 Composer 1.10.5 1 m 4s
PHP 7.3.9 Composer 2.0-dev+source 21 s
PHP 7.4.2 Composer 1.10.5 1 m 3s
PHP 7.4.2 Composer 2.0-dev+source 16 s

Použitá konfigurace: iMac (Retina 5K, 27-inch, Late 2015), 4GHz Intel Core i7, 32 GB RAM, SSD. PHP je z aplikace MAMP. Samozřejmě, před každým testem byla vymazána cache Composeru. I když to tak na ilustračním screenshotu nevypadá ;-)

Composer 2.x přináší i některé další změny a je možné, že určité balíčky a pluginy vám s ním nebudou zatím fungovat stoprocentně. Ostatně, je to vývojová verze. V případě instalace Drupalu jsem musel vypnout kontrolu platformy pomocí přepínače --ignore-platform-reqs.

Tagy
Autor článku: Jan Polzer

Tvůrce webů z Brna se specializací na Drupal a Symfony. Obojí také školím spolu se základy SEO. Jsem Acquia Certified Developer a Site Builder a napsal jsem několik knih o Drupalu. Ve volných chvílích cestuji a podnikám výlety. Více se dozvíte na mém firemním webu.

reklama

Komentáře k článku

Přidat komentář

Filtered HTML

  • Povolené HTML značky: <a href hreflang> <em> <strong> <cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <p> <br>
  • Řádky a odstavce se zalomí automaticky.
  • Web page addresses and email addresses turn into links automatically.

Odesláním komentáře souhlasíte s podmínkami Ochrany osobních údajů

reklama
Sledujte Maxiorla na Facebooku

Maxiorel na Facebooku

Poslední komentáře
reklama
Nové diskuze
reklama
Hosting pro Drupal a WordPress

Hledáte český webhosting vhodný nejenom pro redakční systém Drupal? Tak vyzkoušejte Webhosting C4 za 1200 Kč na rok s doménou v ceně, 20 GB prostoru a automatické navyšováním o 2 GB každý rok. Podrobnosti zde.

Knihy o Drupalu

Kniha Drupal 8 Kniha Drupal 7 333 tipů a triků pro Drupal
Více na KnihyPolzer.cz

@maxiorel na Twitteru

Maxiorel na Twitteru