{"version":1,"type":"rich","provider_name":"Libsyn","provider_url":"https:\/\/www.libsyn.com","height":90,"width":600,"title":"120 How is CFML Speed vs Other Languages? (Hint: really fast!), with Brad Wood","description":"Brad Wood talks about \u201cHow is CFML speed vs other languages? (Hint: really fast!)\u201d in this episode of ColdFusion Alive Podcast with host Michaela Light. &quot;...It is freaking awesome is it to see CFML (both Lucee and Adobe) blowing the pants off other popular web frameworks. I think this sort of head-to-head comparison is great information to use when defending CFML as a battle-tested production server...&quot; Show notes Why compare language performance?  It is freaking awesome is it to see CFML (both Lucee and Adobe) blowing the pants off other popular web frameworks. I think this sort of head-to-head comparison is great information to use when defending CFML as a battle-tested production server. (results and tests below).  Other ways to compare programming languages  Modern development ecosystem  Tools IDEs Libraries and frameworks   Modern language Ease of coding (writing and reading) Ease of learning Connection to other systems and APIs Manufacturer and community there for the long term + support Ease of hiring App reliability Scalability Security Fashion \/ what is hot \/ new  What are the TechEmpower performance benchmarks that you used in your testing?  The benchmarks have a suite of tests, such as run 20 queries on a page and output some data, and every language and framework implements the same logic in their syntax and style. The tests literally take days to run in full and spin up each combination of language and framework in docker containers where they are hammered with oodles of traffic and then the juicy stats are recorded for sweet graphical comparisons. Since 2012 in EC2, now in Docker containers. Open source. The site is basically information overload. There\u2019s just dozens and dozens of combinations of languages, frameworks, databases, web servers, etc-- and many of them are crazy fast micro frameworks you\u2019ve never heard of which are pretty cool. You can apply a huge list of filters to try and carve down the list of frameworks to a useful size of equivalent ones. See  results Not all the test results are the same. Play around with the site to compare your favorite languages and see how they hold up in the simple hello world tests vs the heavy lifting DB tests. I\u2019ve stacked the cards a bit in my selections above, but I think it\u2019s more indicative of a real world web app if we\u2019re honest.  What languages did you compare?  Brad added the following to the site a year or so ago:  Raw Lucee server Raw Adobe ColdFusion server ColdBox MVC running on Lucee ColdBox MVC running on Adobe ColdFusion   All the famous languages: CF, PHP, Python, Go, RoR, Grails etc  What about front ends such as React, Angular, Vue? What about Java (SpringBoot), WP, dotNot, Cloture    Size of CF Docker image  Doesn\u2019t matter for this test May matter for clustered Docker solutions with orchestration  How did CFML perform? Let me be the first to say Brad\u2019s filters are pretty arbitrary. CFML does better on more complex pages with more queries than other languages. That\u2019s because it\u2019s got a little more overhead for a simple Hello World request (we\u2019re talking ms here) but it\u2019s JVM concurrency and datasource connection pooling really shine on a more complex test. As such, the link and screenshot above is for the \u201cData Updates\u201d test Languages compared:  Go is very fast. This is no surprise as Go is designed to be as small as possible and even discourages use of frameworks all together. I couldn\u2019t get the filter to only show one of the Go configurations, but you can see it\u2019s the only language that was as fast or faster than CFML in this test! CFML basically came in second place out of the selected languages and frameworks. Raw CFML is faster than ColdBox as expected but it\u2019s not a massive difference.  Node.js came in slower than both raw CFML and ColdBox MVC Groovy (Grails) came in slower than both raw CFML and ColdBox MVC Ktor jasync (Kotlin) came in slower than both raw CFML and ColdBox MVC Ruby on Rails came in slower than both raw CFML and ColdBox MVC Laravel (PHP) came in slower than ColdBox MVC which it is equivalent to.  There\u2019s a million PHP frameworks, I picked this one because I know it\u2019s very popular and modern.   Django (Python) came in dead last by a long shot (4x slower than CFML!)  Open source involvement  Star the repo - a like Watch - a subscribe Fork \/ Pull request - bug fixes and enhancements  Do your first pull request cocompetition&amp;nbsp;   Edit\/Add docs  CommandBox database migration layer Wrap up  State of CF Union survey results show that speed is never an issue for modern CF code neither are security, upgrading or tools  &amp;nbsp; Mentioned in this episode  Brads blog on this  How does CFML really perform compared to other languages? - Communities - Ortus Solutions Community TechPower if you\u2019d like to see the code and Docker setup, feel free to poke around  the repo&amp;nbsp; Adobe ColdFusion  Lucee ColdBox  Is CF dead article  State of CF Union survey results CFCasts  CommandBox database migration layer - talk by Brad CF most&amp;nbsp; Secure language   TT blog post  Brad blog post    Bio Brad Wood  Brad grew up in southern Missouri and after high school majored in Computer Science with a music minor at MidAmerica Nazarene University (Olathe, KS). Today he lives in Kansas City with his wife and three girls. Brad enjoys all sorts of international food and the great outdoors. Brad has been programming ColdFusion since around 2002 and has used every version of CF since 4.5. He is a software engineer at Ortus Solutions, lead developer of CommandBox CLI, and open source contributor. Links  CFML Slack Box Channel Box Team Slack Channel Brad's Website Brad Wood | LinkedIn Twitter Ortus Community Forum Techempower Nightly Builds  ","author_name":"ColdFusion Alive","author_url":"https:\/\/teratech.com\/podcast\/","html":"<iframe title=\"Libsyn Player\" style=\"border: none\" src=\"\/\/html5-player.libsyn.com\/embed\/episode\/id\/24480858\/height\/90\/theme\/custom\/thumbnail\/yes\/direction\/forward\/render-playlist\/no\/custom-color\/88AA3C\/\" height=\"90\" width=\"600\" scrolling=\"no\"  allowfullscreen webkitallowfullscreen mozallowfullscreen oallowfullscreen msallowfullscreen><\/iframe>","thumbnail_url":"https:\/\/assets.libsyn.com\/secure\/content\/169034063"}