Skip to main content

Table 5 Multiquery search performance

From: The chemfp project

Method

Query size

1 thread

2 threads

4 threads

Time (s)

Time (s)

Scaling

Time (s)

Scaling

k = 1

1000

5.31

3.93

1.35

3.69

1.44

k = 1

Sorted

5.24

3.84

1.36

3.50

1.50

k = 1

N × N

7130 (= 1 h 58 m)

5200 (= 1 h 26 m)

1.37

4640 (= 1 h 17 m)

1.54

k = 1000

1000

14.6

10.5

1.39

9.54

1.53

k = 1000

Sorted

14.5

8.42

1.72

6.30

2.30

k = 1000

N × N

15,300 (= 4 h 14 m)

8040 (= 2 h 13 m)

1.90

4690 (= 1 h 18 m)

3.26

T = 0.90

1000

2.95

2.19

1.35

2.03

1.45

T = 0.90

Sorted

2.92

1.65

1.77

1.04

2.81

T = 0.90

N × N

1890 (= 31 m 34 s)

999 (= 16 m 39 s)

1.90

550 (= 9 m 9 s)

3.45

T = 0.80

1000

5.52

4.09

1.35

3.77

1.46

T = 0.80

Sorted

5.47

2.96

1.85

2.03

2.69

T = 0.80

N × N

3490 (= 58 m 9 s)

1830 (= 30 m 25 s)

1.91

1010 (= 16 m 47 s)

3.46

T = 0.70

1000

8.09

5.95

1.36

5.43

1.49

T = 0.70

Sorted

8.07

4.37

1.85

2.80

2.88

T = 0.70

N × N

4930 (= 1 h 22 m)

2580 (= 42 m 57 s)

1.91

1430 (= 23 m 49 s)

3.45

T = 0.40

1000

13.6

9.99

1.36

8.28

1.64

T = 0.40

Sorted

13.6

7.39

1.83

4.54

2.99

T = 0.40

N × N

7120 (= 1 h 58 m)

3710 (= 1 h 1 m)

1.92

2100 (= 34 m 55 s)

3.40

  1. Time to search the 1 million 2048-bit Morgan fingerprints from the chemfp benchmark data set, for different numbers of threads. A query size of “1000” indicates that the first 1000 benchmark queries were used, “sorted” indicates the same 1000 queries sorted by popcount, and “N × N” generates the full sparse similarity matrix for the 1 million target fingerprints