Skip to main content

Memory-Optimized ZIP Builder

your packages will remain lean, fast, and reliable

What It Means

When JCB compiles your component into a downloadable .zip file, it doesnโ€™t simply bundle everything at once. Instead, it uses a stream-based approach to packaging:

  • โœ… Files are compressed incrementally โ€” not loaded all at once into memory
  • โœ… Temporary caching is used only when necessary
  • โœ… Large assets (media, libraries, language files) are handled with priority-aware batching
  • โœ… Optional inclusion/exclusion filters allow selective packaging (e.g., no language files, or no README)

This optimization significantly reduces memory overhead during compilation, especially when:

  • Your component includes hundreds of files/folders
  • Multiple language packs are involved
  • Large media or static asset libraries are bundled
  • Youโ€™re compiling on a server with limited PHP memory (e.g., 128MB)

Performance Benefits

  • ๐Ÿ”ง Components with 1000+ files can still compile under 64MB of memory
  • ๐Ÿš€ Packaging phase typically takes less than 2 seconds
  • ๐Ÿ“ฆ Output .zip file is fully versioned and ready for Joomla installer or update server
  • ๐Ÿงช Compatible with CI/CD and cron-based builds (no memory timeout)

Why It Matters

  • โš™๏ธ Cross-Environment Compatibility: Compile on shared hosting, CI runners, or Docker containers without increasing memory limits.
  • ๐Ÿ“ˆ Scalability: Build large enterprise components โ€” with layouts, templates, multiple views, and media โ€” without choking your PHP process.
  • ๐Ÿ› ๏ธ Reliable Updates: Use the ZIP builder as part of an update server flow without worrying about bloated memory usage.
  • ๐Ÿงฐ CLI Integration: JCBโ€™s command-line compiler (for Joomla CLI) takes full advantage of this memory optimization โ€” ensuring stability even without GUI overhead.

Best Practices

  • Keep unused libraries or assets disabled to reduce file count
  • Use selective packaging options if only specific features are needed
  • Monitor PHP memory usage via JCB logs if running on strict environments
  • Always test packaging after enabling new high-volume views or templates

Conclusion

JCBโ€™s memory-optimized ZIP builder ensures efficient packaging of your components โ€” no matter how large, multilingual, or media-rich they become. Whether you're pushing updates to clients or deploying through CI/CD, your packages will remain lean, fast, and reliable. Itโ€™s a streamlined and robust solution for packaging Joomla components.