# After the Refactor: A Path to Faster Rendering with Liquid-C

DevFeed: [After the Refactor: A Path to Faster Rendering with Liquid-C](<https://devfeed.tech/articles/after-the-refactor-a-path-to-faster-rendering-with-liquid-c-1543.md>)

Original publisher: [Read original article](<https://shopify.engineering/refactor-path-to-faster-rendering-liquid-c>)

Author: Michael Go

Published: 2022-03-10T22:13:54Z

Content type: article

Language: en

Sources: [Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering.md>), [Shopify Engineering - Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering-shopify-engineering.md>)

Topics: [Parser](<https://devfeed.tech/topics/parser.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [c](<https://devfeed.tech/tags/c.md>), [code](<https://devfeed.tech/tags/code.md>), [developer](<https://devfeed.tech/tags/developer.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [performance](<https://devfeed.tech/tags/performance.md>), [shopify](<https://devfeed.tech/tags/shopify.md>)

## AI overview

The article explains how Liquid-C, a C extension for Shopify's Liquid template language, parses and tokenizes templates, evaluates or compiles their AST nodes, and renders them through a virtual machine. It focuses on the refactoring work needed to compile Liquid's If tag, which was not yet supported by Liquid-C, with the goal of improving parsing performance.

## Source excerpt

Not every feature of open-source template language Liquid has been ported over to Liquid-C, such as the If tag and For Tag. I started to look into how to compile Liquid's If tag from Liquid-C, a process that would improve parsing time.