axelson

axelson

Scenic Core Team

ElixirConf 2019: High Performance String Processing Scripts in Elixir - Johanna Larsson

by @jola

Can you write a performant string processing scripts in Elixir? This talk attempts to answer that question while incrementally optimizing a simple implementation of a script, introducing many interesting parts of Elixir on the way, including ETS, iolists, compiled binary patterns, and concurrency. With a little bit of knowledge, we end up with a 10x speedup over the original implementation, and Elixir becomes a viable and performant scripting language, and this also carries over into most data processing tasks.

But what are the risks and trade-offs when optimizing, and how do you do it in a productive way?

And here’s a link to the forum post related to the talk: Erlang/Elixir string performance - can this be improved? - #39 by jola

View all threads tagged with performance
View all elixirconf2019 talks

Most Liked

AstonJ

AstonJ

Great talk @jola!

It was fantastic following the journey seeing it get down to 7 seconds - second only to C at 4 seconds! Well done :023:

Also thank you for the reminder of Joe’s quote:

:orange_heart:

sanswork

sanswork

Agreed, one of my favourites so far. I really enjoyed the incremental nature of the improvements, super fun and educational.

Where Next?

Popular in Talks Top

kokolegorille
Lonestar Elixir 2018 videos are starting to pop up :slight_smile: https://www.youtube.com/channel/UCOy-_b9bqjokoWX9Hg5ZgUg Day 1 Chris ...
New
AstonJ
Announced in February 2019, Broadway is a new open source tool developed by Plataformatec that aims to streamline data processing pipelin...
New
axelson
ElixirConf 2017 - Its Better Unstated - @tjstankus This is a story about transitioning an obsession with obj...
New
New
axelson
Let’s Talk Process Dictionary - @gregvaughn Well, the first rule of Fight Club, I mean: process dictionary is that we don’...
New
axelson
by @jon At PagerDuty, we run our systems across many geographic regions to ensure we’re always available, even when you might not be. E...
New
derpycoder
QUIC protocol support coming to BEAM. As of now, I am using Caddy in front of Phoenix server to experience HTTP/3 goodness.
New
axelson
ElixirConf US 2018 – Growing Applications and Taming Complexity – Aaron Renner (@aaronrenner) Growing an application is ...
New
AstonJ
Keywords: LiveView autocomplete, LiveView search, focus Startups and web developers take note. Phoenix LiveView is the revolutionary fr...
New
Lawrence_elixir
ElixirConf EU 2019 talk videos ElixirConf EU 2020 - Early bird tickets on sale now! Website: http://www.elixirconf.eu Twitter: www.t...
New

Other popular topics Top

Patoshizzle
After calling mix ecto.create I get this error: 17:00:32.162 [error] GenServer #PID<0.412.0> terminating ** (Postgrex.Error) FATAL...
New
vrod
I am using the Starship cross-shell prompt – it seems pretty nice, but I get some errors: [WARN] - (starship::utils): Executing command ...
New
Tee
can someone please explain to me how Enum.reduce works with maps
New
gshaw
What is the idiomatic way of matching for not nil in Elixir? E.g., First way: defp halt_if_not_signed_in(conn, signed_in_account) when...
New
quazar
How to set Jason to encode all fields in ecto schema, I don’t care about security and implementing only is taking long list of attributes...
New
sacepums
Hey guys. I'm new to elixir and im really stocked about it. But I ran into a bit of problem - I need to convert a date sting, for examp...
New
ashish173
I am using Ecto timestamps with postgres, I can see the timestamps() use the :naive_dateime but for my use case I wanted to store the ti...
New
alice
Hey, Just curious what are the main benefits of Elixir compared to Clojure? When is Elixir more useful than Clojure and vice versa? Th...
New
vonH
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
New
WestKeys
Currently suffering from paralysis by [HTTP client] analysis. This is rather unusual in Elixirland as there tends to be consensus on the ...
New

We're in Beta

About us Mission Statement