yakra / DataProcessing

Data Processing Scripts and Programs for Travel Mapping Project
0 stars 0 forks source link

subgraph speed/scaling alternatives #147

Closed yakra closed 3 years ago

yakra commented 3 years ago

Memory bandwidth alternatives

short name commit parent diff description / comments
TMGi bfe86f0 fc400d9 fixed reduce string copies when writing graphs (inline)
Components written directly to file by HighwayGraph::write_*graphs_tmg instead of concatenating into a long std::string
*_tmg_line functions eliminated completely
TMGf 950400c fc400d9 OK reduce string copies when writing graphs (function)
Components written directly to file by HighwayGraph::write_*graphs_tmg instead of concatenating into a long std::string
*_tmg_line functions retained
TMGf2 54e5a7d TMGf OK allocate fstr once and pass, rather than reallocate thousands of times
TMGf3 f93ed18 TMGf2 fixed edge labels: instead of std::string construction & copying, just insert its components into the ofstream

CPU time alternatives

short name commit parent diff description / comments
v ToDo f181bf51d5fda3580565657ed6f866b878793e85 sets -> lists & bools: vertices
e bb4e4500954e9a3941d219f8a0ec976726fe6650 f181bf51d5fda3580565657ed6f866b878793e85 OK sets -> lists & bools: edges
(shortname formerly hge)
t ToDo f181bf51d5fda3580565657ed6f866b878793e85 sets -> lists & bools: travelers
ve 22cf13bda214ee2a43662811c8f50ca345b07de4 1c204a8748e6406df0464689ee460a8830555d5d
rebase?
OK sets -> lists & bools: vertices, edges
(shortname formerly mv)
vt ToDo f181bf51d5fda3580565657ed6f866b878793e85 sets -> lists & bools: vertices, travelers
et ToDo f181bf51d5fda3580565657ed6f866b878793e85 sets -> lists & bools: edges, travelers
vet 77af90e1bee0efcaa8f1041cfea3a6368f8b7d78 22cf13bda214ee2a43662811c8f50ca345b07de4 OK sets -> lists & bools: vertices, edges, travelers
(shortname formerly mt)

Rubbish bin (epoch unless otherwise noted)

old TMGi was 9cdc37d old TMGf3 was 9bcee48 old TMGr was 48797e1e8879d54bcddb0c0be9e60788f67c2bf7: old TMGf3 (9bcee48) rebased onto vet (77af90e1bee0efcaa8f1041cfea3a6368f8b7d78) TMGi bugfix (0993a1b on epoch) squashed TMGf3 bugfix (e73a1bf on epoch) squashed TMGr bugfix (c1d7eaf on epoch) squashed etF: cherrypick e before rebasing onto TMGf.squashed: df4567a etF before interactive rebase (2nd cherrypicked copy of unused verte3x vars removal): 6038cf3def06684a68a72b92bb42f2a2916dd3c3 Python attempt at 90edd7a on BiggaTomato. Very little difference (~2.3s?), probably just noise. Going no-build.


Mix & Match

  no-build v e t ve vt et vet
no-build fc4009d c200686 bb4e450 7a67ce4 22cf13b e3e708e a08dd6c 77af90e
i bfe86f0 x x x x x x x
i3 cd244c5              
f1 950400c 8c10540 661a59b a8b269a 584c37b 27f909f 3e41a76 824e2b8
f2 54e5a7d 1afe9a8 758f082 dcfb20d aedc633 d2b66ce c87a8e2 ab9c7a5
f3 f93ed18 3b94f38 34aecf6 f5fb4c1 f38426d 94130de 9f33c1a 11a9f42
cd ytm/DataProcessing/siteupdate/cplusplus/
git fetch
git checkout c200686; make siteupdate; mv siteupdate siteupdate_v
git checkout 7a67ce4; make siteupdate; mv siteupdate siteupdate_t
git checkout e3e708e; make siteupdate; mv siteupdate siteupdate_vt
git checkout a08dd6c; make siteupdate; mv siteupdate siteupdate_et
git checkout 3b94f38; make siteupdate; mv siteupdate siteupdate_vF3
git checkout f5fb4c1; make siteupdate; mv siteupdate siteupdate_tF3
git checkout 94130de; make siteupdate; mv siteupdate siteupdate_vtF3
git checkout 9f33c1a; make siteupdate; mv siteupdate siteupdate_etF3

# _v _t _vt _et _vF3 _tF3 _vtF3 _etF3
yakra commented 3 years ago

Alternative selection

RAM

CPU

yakra commented 3 years ago

lab4

exists now. Same hardware as lab3, running Ubuntu instead of CentOS. Overall, everything scales to more threads much more gracefully.

Does this change anything?

RAM

yakra commented 3 years ago

Reopen and comment test