Efficient data structures for dynamic graph ... - Dynamic Networks

2 downloads 231 Views 4MB Size Report
Efficient data structures for dynamic graph analysis - Technical. Report. Benjamin Schiller1, Clemens Deusser1, Jeronimo
Efficient data structures for dynamic graph analysis - Technical Report Benjamin Schiller1 , Clemens Deusser1 , Jeronimo Castrillon2 , and Thorsten Strufe1 1

Privacy and Data Security, Department of Computer Science, TU Dresden [email protected], [email protected] 2 Compiler Construction, Department of Computer Science, TU Dresden [email protected]

Table of Contents

Efficient data structures for dynamic graph analysis - Technical Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Benjamin Schiller, Jeronimo Castrillon, Thorsten Strufe 1 Measurements and estimation functions for s =∈ [1, 100] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 Node - 100 - 10000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Edge - 100 - 10000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Node - 100 - 100000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 Edge - 100 - 100000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5 Node - 100 - 200000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6 Edge - 100 - 200000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Measurements and estimation functions for s =∈ [1, 1000] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 Node - 1000 - 1000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Edge - 1000 - 1000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Node - 1000 - 10000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 Edge - 1000 - 10000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Measurements and estimation functions for s =∈ [1, 10000] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Node - 10000 - 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Edge - 10000 - 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Node - 10000 - 100 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Edge - 10000 - 100 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Measurements and estimation functions for s =∈ [1, 50000] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 Node - 50000 - 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Edge - 50000 - 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Resulting functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1 Functions - Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Functions - Edge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 3 3 4 5 6 7 8 9 9 10 11 12 13 13 14 15 16 17 17 18 19 19 20

1 1.1

Measurements and estimation functions for s =∈ [1, 100] Node - 100 - 10000

(a) addf

(b) adds

(c) init

(d) remf

(e) rems

(f) iter

(g) getf

(h) gets

(i) rand

(j) contf

(k) conts

(l) size

Fig. 1. Runtime estimations ed,v,o for list sizes s ∈ [1, 100] (measured for 10000 list instances)

1.2

Edge - 100 - 10000

(a) addf

(b) adds

(c) init

(d) remf

(e) rems

(f) iter

(g) getf

(h) gets

(i) rand

(j) contf

(k) conts

(l) size

Fig. 2. Runtime estimations ed,e,o for list sizes s ∈ [1, 100] (measured for 10000 list instances)

1.3

Node - 100 - 100000

(a) addf

(b) adds

(c) init

(d) remf

(e) rems

(f) iter

(g) getf

(h) gets

(i) rand

(j) contf

(k) conts

(l) size

Fig. 3. Runtime estimations ed,v,o for list sizes s ∈ [1, 100] (measured for 100000 list instances)

1.4

Edge - 100 - 100000

(a) addf

(b) adds

(c) init

(d) remf

(e) rems

(f) iter

(g) getf

(h) gets

(i) rand

(j) contf

(k) conts

(l) size

Fig. 4. Runtime estimations ed,e,o for list sizes s ∈ [1, 100] (measured for 100000 list instances)

1.5

Node - 100 - 200000

(a) addf

(b) adds

(c) init

(d) remf

(e) rems

(f) iter

(g) getf

(h) gets

(i) rand

(j) contf

(k) conts

(l) size

Fig. 5. Runtime estimations ed,v,o for list sizes s ∈ [1, 100] (measured for 200000 list instances)

1.6

Edge - 100 - 200000

(a) addf

(b) adds

(c) init

(d) remf

(e) rems

(f) iter

(g) getf

(h) gets

(i) rand

(j) contf

(k) conts

(l) size

Fig. 6. Runtime estimations ed,e,o for list sizes s ∈ [1, 100] (measured for 200000 list instances)

2 2.1

Measurements and estimation functions for s =∈ [1, 1000] Node - 1000 - 1000

(a) addf

(b) adds

(c) init

(d) remf

(e) rems

(f) iter

(g) getf

(h) gets

(i) rand

(j) contf

(k) conts

(l) size

Fig. 7. Runtime estimations ed,v,o for list sizes s ∈ [1, 1000] (measured for 1000 list instances)

2.2

Edge - 1000 - 1000

(a) addf

(b) adds

(c) init

(d) remf

(e) rems

(f) iter

(g) getf

(h) gets

(i) rand

(j) contf

(k) conts

(l) size

Fig. 8. Runtime estimations ed,e,o for list sizes s ∈ [1, 1000] (measured for 1000 list instances)

2.3

Node - 1000 - 10000

(a) addf

(b) adds

(c) init

(d) remf

(e) rems

(f) iter

(g) getf

(h) gets

(i) rand

(j) contf

(k) conts

(l) size

Fig. 9. Runtime estimations ed,v,o for list sizes s ∈ [1, 1000] (measured for 10000 list instances)

2.4

Edge - 1000 - 10000

(a) addf

(b) adds

(c) init

(d) remf

(e) rems

(f) iter

(g) getf

(h) gets

(i) rand

(j) contf

(k) conts

(l) size

Fig. 10. Runtime estimations ed,e,o for list sizes s ∈ [1, 1000] (measured for 10000 list instances)

3 3.1

Measurements and estimation functions for s =∈ [1, 10000] Node - 10000 - 10

(a) addf

(b) adds

(c) init

(d) remf

(e) rems

(f) iter

(g) getf

(h) gets

(i) rand

(j) contf

(k) conts

(l) size

Fig. 11. Runtime estimations ed,v,o for list sizes s ∈ [1, 10000] (measured for 10 list instances)

3.2

Edge - 10000 - 10

(a) addf

(b) adds

(c) init

(d) remf

(e) rems

(f) iter

(g) getf

(h) gets

(i) rand

(j) contf

(k) conts

(l) size

Fig. 12. Runtime estimations ed,e,o for list sizes s ∈ [1, 10000] (measured for 10 list instances)

3.3

Node - 10000 - 100

(a) addf

(b) adds

(c) init

(d) remf

(e) rems

(f) iter

(g) getf

(h) gets

(i) rand

(j) contf

(k) conts

(l) size

Fig. 13. Runtime estimations ed,v,o for list sizes s ∈ [1, 10000] (measured for 100 list instances)

3.4

Edge - 10000 - 100

(a) addf

(b) adds

(c) init

(d) remf

(e) rems

(f) iter

(g) getf

(h) gets

(i) rand

(j) contf

(k) conts

(l) size

Fig. 14. Runtime estimations ed,e,o for list sizes s ∈ [1, 10000] (measured for 100 list instances)

4 4.1

Measurements and estimation functions for s =∈ [1, 50000] Node - 50000 - 1

(a) addf

(b) adds

(c) init

(d) remf

(e) rems

(f) iter

(g) getf

(h) gets

(i) rand

(j) contf

(k) conts

(l) size

Fig. 15. Runtime estimations ed,v,o for list sizes s ∈ [1, 50000] (measured for 1 list instances)

4.2

Edge - 50000 - 1

(a) addf

(b) adds

(c) init

(d) remf

(e) rems

(f) iter

(g) getf

(h) gets

(i) rand

(j) contf

(k) conts

(l) size

Fig. 16. Runtime estimations ed,e,o for list sizes s ∈ [1, 50000] (measured for 1 list instances)

5 5.1

Resulting functions Functions - Node

(a) addf

(b) adds

(c) init

(d) remf

(e) rems

(f) iter

(g) getf

(h) gets

(i) rand

(j) contf

(k) conts

(l) size

Fig. 17. Runtime estimations ed,v,o

5.2

Functions - Edge

(a) addf

(b) adds

(c) init

(d) remf

(e) rems

(f) iter

(g) getf

(h) gets

(i) rand

(j) contf

(k) conts

(l) size

Fig. 18. Runtime estimations ed,e,o