Skip to content

Commit 89152ba

Browse files
committed
Set up Project & README
1 parent b99492f commit 89152ba

File tree

5 files changed

+37
-5
lines changed

5 files changed

+37
-5
lines changed

.github/workflows/CI.yml

+1-3
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,7 @@ jobs:
1313
fail-fast: false
1414
matrix:
1515
version:
16-
- '1.0'
17-
- '1.6'
18-
- 'nightly'
16+
- '1'
1917
os:
2018
- ubuntu-latest
2119
arch:

Project.toml

+6
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,13 @@ uuid = "f99f42b8-f1d0-40fe-9dc3-6a6961ec8c82"
33
authors = ["Tim Holy <[email protected]> and contributors"]
44
version = "0.1.0"
55

6+
[deps]
7+
BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf"
8+
ProfileView = "c46f51b8-102a-5cf2-8d2c-8597cb0e0da7"
9+
610
[compat]
11+
BenchmarkTools = "1"
12+
ProfileView = "0.6.11"
713
julia = "1"
814

915
[extras]

README.md

+25-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,27 @@
11
# Performance
22

3-
[![Build Status](https://github.com/timholy/Performance.jl/workflows/CI/badge.svg)](https://github.com/timholy/Performance.jl/actions)
3+
[![Build Status](https://github.com/AdvancedScientificComputingInJuliaWashU/Performance.jl/workflows/CI/badge.svg)](https://github.com/AdvancedScientificComputingInJuliaWashU/Performance.jl/actions)
4+
5+
This assignment has two goals:
6+
- it coaches you in good Julia practices, avoiding traps that can kill performance. By and large, this is an exercise in avoiding patterns that result in poor type inference, and in experimenting with tools that help you detect, diagnose, and resolve inference problems.
7+
- it introduces a few concepts from the analysis of algorithms, specifically the "big-O" notation and its use in evaluating implementations.
8+
9+
For this homework, start from the `test/runtests.jl` file, which mostly just `include`s a number of individual test files.
10+
Open them one-by-one and read the comments that describe the problems to be solved.
11+
These individual test files start with one or more links, usually to sections of the Julia manual's [Performance tips](https://docs.julialang.org/en/v1/manual/performance-tips/) page. Start by reading those pages/sections for background information that will help in solving this problem.
12+
13+
Solve the problems by modifying the file of the same name in `src/`, *not* by modifying the tests.
14+
One exception to this rule is the `ntests_finished` at the top of `runtests.jl`: if you're bothered by failures of the
15+
tests you haven't yet fixed, just set this to the number of files whose tests you want to run. For example, to run
16+
just the tests in `test/globals.jl`, set `ntests_finished = 1`. If you do modify `ntests_finished`,
17+
make sure you put it back (or set `ntests_finished = typemax(Int)`) to ensure they all run before
18+
you declare victory with this assignment.
19+
20+
Some problems might say "See `?somefunction`," which means you should read the help on `somefunction`.
21+
22+
Finally, a couple of notes about this repository:
23+
- when creating it, I deliberately left out the `Documenter` and `Codecov` plugins since neither is needed
24+
for this assignment.
25+
- some packages like ProfileView are listed as depenencies of this repository. This is for your convenience, but
26+
any real package generally shouldn't include such dependencies. Put them in your default environment instead,
27+
reserving the package environment for things actually needed by the package.

src/Performance.jl

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
module Performance
22

3-
# Write your package code here.
3+
# Typically I would list all `export`s here, but since these are completely disconnected,
4+
# the `export`s are made from each file individually.
5+
46

57
end

test/runtests.jl

+2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
using Performance
22
using Test
33

4+
ntests_finished = 0 # increment this counter to run the next set of tests
5+
46
@testset "Performance.jl" begin
57
# Write your tests here.
68
end

0 commit comments

Comments
 (0)