Skip to Main Content
Think Julia
book

Think Julia

by Ben Lauwens, Allen B. Downey
April 2019
Beginner content levelBeginner
295 pages
5h 48m
English
O'Reilly Media, Inc.
Content preview from Think Julia

Chapter 20. The Goodies: Base and Standard Library

Julia comes with batteries included. The Base module contains the most useful functions, types, and macros. These are directly available in Julia.

Julia also provides a large number of specialized modules in its standard library for dates, distributed computing, linear algebra, profiling, random numbers, and more. Functions, types, and macros defined in the standard library have to be imported before they can be used:

  • import Module imports the module, and Module.fn(x) calls the function fn.

  • using Module imports all exported Module functions, types, and macros.

Additional functionality can be added from a growing collection of packages.

This chapter is not intended as a replacement of the official Julia documentation. The aim is merely to give some examples to illustrate what is possible, without being exhaustive. Functions already introduced elsewhere are not included.

Measuring Performance

We have seen that some algorithms perform better than others. The fibonnaci implementation from “Memos” is a lot faster than the fib implementation from “One More Example”. The @time macro allows us to quantify the difference:

julia> fib(1)
1
julia> fibonacci(1)
1
julia> @time fib(40)
  0.567546 seconds (5 allocations: 176 bytes)
102334155
julia> @time fibonacci(40)
  0.000012 seconds (8 allocations: 1.547 KiB)
102334155

@time prints the time the function took to execute, the number of allocations, and the allocated memory before returning ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Practical Julia

Practical Julia

Lee Phillips
Getting Clojure

Getting Clojure

Russ Olsen
Learning Go

Learning Go

Jon Bodner

Publisher Resources

ISBN: 9781492045021Errata PageSupplemental Content