Skip to content

Commit 960de37

Browse files
committed
Use Sieve in documentation, its faster
1 parent 6edb44c commit 960de37

File tree

2 files changed

+20
-22
lines changed

2 files changed

+20
-22
lines changed

benches/benches.rs

+12-14
Original file line numberDiff line numberDiff line change
@@ -12,22 +12,20 @@ fn bench_primes(c: &mut Criterion) {
1212
sizes.sort();
1313
sizes.dedup();
1414

15-
let mut group = c.benchmark_group("TrialDivision::find");
15+
let mut group = c.benchmark_group("find");
1616
for &size in sizes.iter() {
1717
group.throughput(Throughput::Elements(size));
18-
group.bench_with_input(BenchmarkId::from_parameter(size), &size, |b, &size| {
19-
b.iter(|| {
20-
let mut pset = TrialDivision::new();
21-
black_box(pset.find(size))
22-
})
23-
});
24-
}
25-
group.finish();
26-
27-
let mut group = c.benchmark_group("Sieve::find");
28-
for &size in sizes.iter() {
29-
group.throughput(Throughput::Elements(size));
30-
group.bench_with_input(BenchmarkId::from_parameter(size), &size, |b, &size| {
18+
group.bench_with_input(
19+
BenchmarkId::new("TrialDivision", size),
20+
&size,
21+
|b, &size| {
22+
b.iter(|| {
23+
let mut pset = TrialDivision::new();
24+
black_box(pset.find(size))
25+
})
26+
},
27+
);
28+
group.bench_with_input(BenchmarkId::new("Sieve", size), &size, |b, &size| {
3129
b.iter(|| {
3230
let mut pset = Sieve::new();
3331
black_box(pset.find(size))

src/lib.rs

+8-8
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ A basic library for finding primes, providing a basic Iterator over all primes.
66
The simplest usage is simply to create an `Iterator`:
77
88
```
9-
use primes::{TrialDivision, PrimeSet};
9+
use primes::{Sieve, PrimeSet};
1010
11-
let mut pset = TrialDivision::new();
11+
let mut pset = Sieve::new();
1212
1313
for (ix, n) in pset.iter().enumerate().take(10) {
1414
println!("Prime {}: {}", ix, n);
@@ -24,29 +24,29 @@ for the given test, and primes are cached for later use.
2424
# Example: Find the first prime after 1 million
2525
2626
```
27-
use primes::{TrialDivision, PrimeSet};
27+
use primes::{Sieve, PrimeSet};
2828
29-
let mut pset = TrialDivision::new();
29+
let mut pset = Sieve::new();
3030
let (ix, n) = pset.find(1_000_000);
3131
3232
println!("Prime {}: {}", ix, n);
3333
```
3434
3535
# Example: Find the first ten primes *after* the thousandth prime
3636
```
37-
use primes::{TrialDivision, PrimeSet};
37+
use primes::{Sieve, PrimeSet};
3838
39-
let mut pset = TrialDivision::new();
39+
let mut pset = Sieve::new();
4040
for (ix, n) in pset.iter().enumerate().skip(1_000).take(10) {
4141
println!("Prime {}: {}", ix, n);
4242
}
4343
```
4444
4545
# Example: Find the first prime greater than 1000
4646
```
47-
use primes::{TrialDivision, PrimeSet};
47+
use primes::{Sieve, PrimeSet};
4848
49-
let mut pset = TrialDivision::new();
49+
let mut pset = Sieve::new();
5050
let (ix, n) = pset.find(1_000);
5151
println!("The first prime after 1000 is the {}th prime: {}", ix, n);
5252

0 commit comments

Comments
 (0)