That&#x27;s a good analogy (as long as you mean &quot;HTML&quot; as a banner term to include the HTML spec and associated specs like CSS and Custom Elements [1]).<p>• AMP is a subset of HTML.<p>• Any normal HTML engine can, therefore, render any AMP file, without needing to know about the AMP spec.<p>• It&#x27;s also possible to make an engine that <i>specialises</i> in rendering AMP (either exclusively, or by switching to a faster mode when it detects the file is just AMP).<p>• Even in normal HTML engines, AMP files will generally be fast because they avoid &#x27;slow&#x27; parts of HTML.<p>The above points all hold true if you switch the terms to JavaScript and asm.js.<p>Where the analogy falls short:<p>• It&#x27;s easy to write AMP by hand, but asm.js is really only meant to be generated by a compiler.<p>• Obviously, what is meant by &#x27;fast&#x27; is very different in each case. In HTML:AMP, it&#x27;s about things like reducing network usage, and avoiding layout thrashing by requiring up-front declarations of image dimensions, etc. In JS:asm.js, it&#x27;s about making compiler optimisations possible so code can execute faster.<p>Note: AMP does create extra elements, like `&lt;amp-img&gt;`, but these are legit uses of the Custom Elements spec. You can see these elements rendering correctly in Chrome. [2]<p>[1] <a href="http:&#x2F;&#x2F;w3c.github.io&#x2F;webcomponents&#x2F;spec&#x2F;custom&#x2F;" rel="nofollow">http:&#x2F;&#x2F;w3c.github.io&#x2F;webcomponents&#x2F;spec&#x2F;custom&#x2F;</a>
[2] <a href="https:&#x2F;&#x2F;www.ampproject.org&#x2F;how-it-works&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.ampproject.org&#x2F;how-it-works&#x2F;</a>