1
0
Fork 0
mirror of https://gitlab.rlp.net/mobitar/julia_course.git synced 2024-11-16 13:28:10 +00:00

Done tasks day 4

This commit is contained in:
Mo8it 2022-03-31 14:14:56 +02:00
parent aaa6f6e324
commit 91b415dd8b

View file

@ -5,6 +5,61 @@ using Markdown
using InteractiveUtils using InteractiveUtils
# ╔═╡ 95f0a7c8-b065-11ec-0bd4-a9be6aca0c47 # ╔═╡ 95f0a7c8-b065-11ec-0bd4-a9be6aca0c47
md"""
# Workflow outside notebooks
Create a project directory somewhere in your file system. Now, `cd` into this project directory and create a project environment. Add some packages to this environment.
Now, create two Julia files in this directory:
- `main.jl`
- `sub.jl`
Write a function in the `sub.jl` file. Include this code in the `main.jl` file using the following inside `main.jl`:
include("sub.jl")
Now, define a new function in `main.jl` that uses the function from `sub.jl`. Use `Measurements.jl` for some error calculation in one of these functions.
Run Julia with the `--project=.` argument.
Include only the `main.jl` file. Now run the function defined in `main.jl`.
"""
# ╔═╡ c2bbace2-3585-4a40-b54f-d466dd735716
md"""
# Startup
Create the file `~/.julia/config/startup.jl`. Add the following lines into this file:
```julia
using OhMyREPL
using Revise
```
Make sure that the two packages are in your global environment.
Now launch Julia and test the syntax highlighting provided by `OhMyREPL`.
"""
# ╔═╡ 53bbb6c2-b264-4892-8e18-af8a1a5d5c2d
md"""
# Multithreading
Open the tasks notebook of the first course day. Copy your function for the task about the squaring difference.
Now, calculate all squaring differences for $i \in [1, N]$ with $N = 1000$ and store the results in a vector.
Do this calculation without and with multithreading. What is the difference?
Can you optimize more? Do some benchmarking!
Plot the "squaring difference" of `i` against `i`.
Hints:
- You might need to use `BigInt`!
- Verify that `Threads.nthreads()` returns a number bigger than one.
- You have to import needed packages.
"""
# ╔═╡ 98112d63-c9df-4f4d-b961-ad26c76dd118
# Your code starts here
# ╔═╡ 00000000-0000-0000-0000-000000000001 # ╔═╡ 00000000-0000-0000-0000-000000000001
@ -23,6 +78,9 @@ manifest_format = "2.0"
""" """
# ╔═╡ Cell order: # ╔═╡ Cell order:
# ╠═95f0a7c8-b065-11ec-0bd4-a9be6aca0c47 # ╟─95f0a7c8-b065-11ec-0bd4-a9be6aca0c47
# ╟─c2bbace2-3585-4a40-b54f-d466dd735716
# ╟─53bbb6c2-b264-4892-8e18-af8a1a5d5c2d
# ╠═98112d63-c9df-4f4d-b961-ad26c76dd118
# ╟─00000000-0000-0000-0000-000000000001 # ╟─00000000-0000-0000-0000-000000000001
# ╟─00000000-0000-0000-0000-000000000002 # ╟─00000000-0000-0000-0000-000000000002