Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Elixir Cookbook
  • Toc
  • feedback
Elixir Cookbook

Elixir Cookbook

By : Paulo Pereira
4.5 (2)
close
Elixir Cookbook

Elixir Cookbook

4.5 (2)
By: Paulo Pereira

Overview of this book

This book is intended for users with some knowledge of the Elixir language syntax and basic data types/structures. Although this is a cookbook and no sequential reading is required, the book’s structure will allow less advanced users who follow it to be gradually exposed to some of Elixir’s features and concepts specific to functional programming. To get the most out of this book, you need to be well versed with Erlang.
Table of Contents (11 chapters)
close
10
Index

Making code run on all available CPUs


You may wonder, given the name of the recipe, whether there is some special form of coding that allows Elixir to take advantage of all available processors in a machine. There isn't!

The Erlang VM, which is the VM where our Elixir programs run, takes care of it for us. It has a scheduler that is responsible for assigning computations to each of the available processors.

Getting ready

In this recipe, we will be starting the IEx session with different options regarding the scheduler, and we will run a small program that will spawn four calculations.

We will execute the program in an IEx session with the default options for the scheduler (usually one scheduler per CPU), and we will then repeat the execution in a shell started with only one enabled scheduler.

To start, we need to get into the directory where the multiple_calculations.ex module is located.

How to do it…

Follow these steps to see how the Erlang VM scheduler takes care of distributing computations...

bookmark search playlist font-size

Change the font size

margin-width

Change margin width

day-mode

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Delete Bookmark

Modal Close icon
Are you sure you want to delete it?
Cancel
Yes, Delete