aseigo

aseigo

Elixir1.5.0-rc0 and OTP 20 are significant releases, full of features, bug fixes and optimizations. I was really curious as to how the optimizations listed in the release notes actually stacked up, so I bechmarked a few of them. This screencast shows the results of bechmarking pattern matching of maps, ets table creation, and ets insertion/lookup with Elixir 1.5 on OTP 20 vs Elixir 1.4 on OTP 18.

The results are extremely encouraging, and as a result of these measurements I can hardly wait to move all my projects to Elixir 1.5 / OTP 20.

All the usual caveats about benchmarks apply here, but as a comparison between the two versions I think it is a valid set of measuremnts as they were run on the same hardware and OS on an as-quiet-as-I-could-reasonably-make-my-laptop .. not optimal conditions, but good enough to tease useful comparison numbers out of it.

For those curious, I benchmarked it on a i7-4500U laptop with 8GB RAM and a 256GB SSD drive. YMMV.

p.s. I had wanted to post the new episode on the weekend, but realized after making a first revision of the video that it was just simply too long and covered too much .. as a result I ended up splitting the video into two parts, and there will be an “Extra” screencast coming in a bit that covers quite a few of the feature improvements in Elixir 1.5 w/OTP 20 … but that meant the upload was delayed until today .. meh. Who needs schedules? :wink:

Showing Posts 1 to 10

aseigo

aseigo OP

Yeah, responding to yourself is lame .. but here I am anyways :wink:

Code repository that goes with this series can be found here: GitHub - aseigo/exploring-elixir: Contains code examples used in the Exploring Elixir screencast series: https://www.youtube.com/channel/UCFKQ85T69sYhifDHF7dnPgw · GitHub

Note that it is not a “coherent application” but rather all the snippets and bits I use in the episodes (including some that get left on the cutting room floor … ), but someone on reddit asked so there it is.

Also, the Extras episode noting a number of highlight features from Elixir 1.5 / OTP 20 is up as well:

13
Post #1
wmnnd

wmnnd

Thanks for posting those videos and the interesting insights :slight_smile:

aseigo

aseigo OP

My pleasure; I’m just glad if someone else finds them interesting / useful as well! Cheers ..

thousandsofthem

thousandsofthem

Thanks for your work! Rather useful. Still, i think, video format is not optimal for such payload, I’d prefer plain old article/blog post - way easier to navigate

AstonJ

AstonJ

Noooooooooo… screencasts are awesome @thousandsofthem :lol:

@aseigo and what he’s doing reminds me very much of Ryan Bates and Railscasts :003:

Best of both worlds would be to have show notes or asciicasts (like Railscasts did).

aseigo

aseigo OP

I actually agree that blog posts are better for archival and more “serious” reading. Thankfully there are a number of those for Elixir already … though perhaps I will also do one of those one day (I used to blog nearly daily for other projects I participated in) …

BUT … videos have a few benefits: they show visually what is happening and how it can come together in more or less real-time, something that is hard to replicate with a blog. Videos are also something to sit and consume almost casually, and as such they compliment and augment the written word with something a bit more like entertainment. There’s also something to be said about the “touch” of the human voice .. for some people it’s more enjoyable ..

So I think we need ALL of these forms of media to communicate the great things we love in Elixir and the BEAM ecosystem …

BTW .. The next episode will be back to “live coding” again, which is also really hard to replicate in blog entry ..

OvermindDL1

OvermindDL1

I’d prefer static/dynamic articles as well, video is not something I can watch until I get home, at which home life often blocks me from doing so. ^.^;

Video snippets on a page that have no audio are good though (I can ‘kind of’ watch videos at work, just no speakers thus no sound).

michalmuskala

michalmuskala

There’s one more optimisation that is missing from the videos - record pattern matching (or rather pattern matching on tuples where the first element is an atom) was also optimised. This also applies to ok and error tuples, so should be also visible in Elixir. I’m not sure how big of an improvement it is, though.

aseigo

aseigo OP

Ooooh, I missed that one entirely! Maybe I’ll sneak in a “one more thing ..” in Episode 3 if it does turn out to be visible … neat.

Two other sets of improvements, Calendar enhancements and child_spec/1, will be subjects of future episodes on their own, so I skipped over them in these ones. ..

aseigo

aseigo OP

Oh man, you guys are really making me seriously consider picking up the blogging again and doing a companion blog to the videos .. well, we’ll seeeeee! :slight_smile:

Where Next? Top

Trending in Screencasts Top

lubien
Several weeks ago I was nerd snipped by browsers support for View Transitions API and took to myself to see how that goes in LiveView. Af...
New

Other Trending Topics Top

garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
mcass19
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
wintermeyer
There are three potential reasons for members of this forum to have a look at https://vutuv.de You are tired or annoyed of LinkedIn. Yo...
New
aseigo
ICal is a library for interacting with iCalendar data. It parses iCalendars into typed Elixir structs via ICal.from_ics, and can prepare ...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews