Broadway, RabbitMQ, and the Rise of Elixir Part 1 How to use data spanning multiple data sources in Elixir

Introducing fast_html

After 2 years of great service from HtmlSanitizeEx in Pleroma, we started to work on a faster HTML sanitization engine because people were doing things like making multi-megabyte posts which HtmlSanitizeEx has had problems handling.

The first part of this work was released for the general public today as the fast_html module, a C-Node which wraps the Myhtml library.

Elixir users may be familiar with Myhtmlex, another module which wraps the Myhtml library as a NIF or C-node, but fast_html was forked and rewritten from the ground up to be as performant a C-node as possible.

In most synthetic benchmarks, fast_html outperforms both the Myhtmlex and html5ever NIFs and uses the newer ei library over the legacy erl_interface one.

Shameless plug: Check out @elixirstatus' other community project:

Credo, a new static code analysis tool that acts as a code linter, but also focusses on teaching coding practices and code consistency.