forked from tddschn/easygraph-bench
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
154 lines (114 loc) · 5.57 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
# SHELL := /usr/local/bin/bash
REPOS=tddschn/easygraph-bench easy-graph/easygraph-bench
REPO_SERVER=easy-graph/easygraph-bench
TAGS=server local
TAG_SERVER=server
NOTE_FILE_SERVER=server-release-note.md
sanity-check: gen-scripts
# ./bench_stub.py -D -p 1 -a -G new
# ./bench_stub_directed.py -D -p 1 -a -G new
# ./bench_stub_directed.py -D -p 1
# ./bench_stub_nx.py -D -p 1
# ./bench_stub_with_underscore.py -D -p 1
# ./bench_stub_with_underscore.py -p 1
# ./bench_pgp.py -D -p 1 -t 10 -G other
gen-scripts:
./gen_bench_script.py
./gen_bench_script.py -e
./gen_bench_script.py -E
./gen_bench_script.py --entrypoint-bash-er
./gen_bench_script.py -P
./gen_bench_script.py -Z
./gen_bench_script.py -m
./gen_bench_script.py -M
./gen_bench_script.py --entrypoint-bash-multiprocessing-paper
./gen_bench_script.py --entrypoint-bash-paper
./gen_bench_script.py --er-paper
./gen_bench_script.py --er-paper --multiprocessing-bench-scripts
gen-easygraph-cpp-sanity-check-scripts:
./gen_profile_scripts_with_suffix_wrapper.py 'cpp-sanity-check' -e -t 'easygraph' -d 'dataset/cheminformatics.edgelist' 'dataset/bio.edgelist'
gen-scripts-20230427-constraint-clustering:
./gen_profile_scripts_with_suffix_wrapper.py '20230427-constraint-clustering' \
-m 'constraint' 'clustering' \
-t 'igraph' 'easygraph' \
-D 'google.txt' 'google_lcc.txt' 'pokec.txt' 'pokec_lcc.txt' 'amazon.txt' 'amazon_lcc.txt' 'dataset/pgp.edgelist' 'dataset/pgp_undirected.edgelist'
# gen-scripts-20230403-print-graph-info:
# ./gen_profile_scripts_with_suffix_wrapper.py '20230403-lastfm-print-graph-info' -t 'igraph' 'easygraph' -d 'lastfm.txt' --profile-entrypoint-bash-arg "\-\-print-graph-info-only"
gen-scripts-20230403-print-graph-info:
./gen_profile_scripts_with_suffix_wrapper.py '20230403-lastfm' -t 'igraph' 'easygraph' -d 'lastfm.txt' 'lastfm_lcc.txt'
./profile_entrypoint_20230403-lastfm.sh --print-graph-info-only
gen-scripts-20230403:
./gen_profile_scripts_with_suffix_wrapper.py '20230403-lastfm' -t 'igraph' 'easygraph' -d 'lastfm.txt' 'lastfm_lcc.txt'
gen-scripts-20230331:
./gen_profile_scripts_with_suffix_wrapper.py '20230331-all-without-google-pokec' -t 'igraph' 'easygraph' -D 'google.txt' 'google_lcc.txt' 'pokec.txt' 'pokec_lcc.txt'
gen-scripts-20230330:
./gen_profile_scripts_with_suffix_wrapper.py '20230330-hepth-fb-fix' -t 'igraph' 'easygraph' -d 'facebook.txt' 'facebook_lcc.txt' 'hepth.txt' 'hepth_lcc.txt'
gen-scripts-20230329-directed-only:
./gen_profile_scripts_with_suffix_wrapper.py '20230329-scc-directed-only' --tools 'igraph' 'easygraph' --methods 'page rank' 'strongly connected components' --directed-datasets-only
gen-scripts-20230328-directed-only:
./gen_profile_scripts_with_suffix_wrapper.py '20230328-pagerank-scc-directed-only' --tools 'igraph' 'easygraph' --methods 'page rank' 'strongly connected components' --directed-datasets-only
gen-scripts-20230327:
./gen_profile_scripts_with_suffix_wrapper.py '20230327-kcore' --tools 'igraph' 'easygraph' --methods 'k-core'
gen-scripts-20230324:
./gen_profile_scripts_with_suffix_wrapper.py '20230324-centrality-dijkstra' --tools 'igraph' 'easygraph' --methods 'betweenness centrality' 'closeness centrality' 'shortest path' -d 'dataset/road_lcc.edgelist' 'enron_lcc.txt' 'google_lcc.txt' 'amazon_lcc.txt' 'pokec_lcc.txt'
gen-scripts-20230322:
./gen_profile_scripts_with_suffix_wrapper.py '20230322-centrality' --tools 'igraph' 'easygraph' --methods 'betweenness centrality' 'closeness centrality'
gen-scripts-20230323:
./gen_bench_script.py --profile --profile-suffix '20230323-kcore-centrality' --profile-select-tools 'igraph' 'easygraph' --profile-select-methods 'betweenness centrality' 'closeness centrality' 'k-core'
./gen_bench_script.py --profile-entrypoint --profile-suffix '20230323-kcore-centrality' --profile-select-tools 'igraph' 'easygraph' --profile-select-methods 'betweenness centrality' 'closeness centrality' 'k-core'
release-dbs:
$(foreach REPO,$(REPOS), \
$(foreach TAG,$(TAGS), \
gh --repo $(REPO) release upload $(TAG) bench-results-$(TAG).db --clobber; \
) \
)
edit-server-release-note:
$(foreach REPO,$(REPOS), \
gh --repo $(REPO) release edit $(TAG_SERVER) -F $(NOTE_FILE_SERVER); \
)
make-server-release-latest:
$(foreach REPO,$(REPOS), \
gh --repo $(REPO) release edit $(TAG_SERVER) --latest; \
)
init-server-releases:
$(foreach TAG,$(TAGS), \
gh --repo $(REPO_SERVER) release create $(TAG) --generate-notes; \
)
deta:
deta deploy ../easygraph-bench-results-fastapi
evaluate: clean
./bench.py
clean: clean-outputs clean-figs
clean-outputs:
rm *.{json,csv}
clean-figs:
rm -rf images/
zip-csv:
zip -r bench-results-csv.zip *.csv
zip-figs:
zip -r bench-result-figures.zip images
bench-all:
parallel gh workflow run bench.yaml -f uploadResultsAsArtifact="false" -f benchScriptSet={} ::: 'stub' 'stub-fast' 'normal' 'large' 'coauthorship'
# gh workflow run bench.yaml -f uploadResultsAsArtifact="false" -f benchScriptSet=stub-fast
# gh workflow run bench.yaml -f uploadResultsAsArtifact="false" -f benchScriptSet=stub
# gh workflow run bench.yaml -f uploadResultsAsArtifact="false" -f benchScriptSet=normal
# gh workflow run bench.yaml -f uploadResultsAsArtifact="false" -f benchScriptSet=large
# gh workflow run bench.yaml -f uploadResultsAsArtifact="false" -f benchScriptSet=coauthorship
patch-p: patch install publish push
minor-p: minor install publish push
major-p: major install publish push
install:
poetry install
publish:
poetry publish --build
patch:
bump2version patch
minor:
bump2version minor
major:
bump2version major
push:
git push origin master
# yapf:
# poetry run yapf -i -vv **/*.py
.PHONY: *