We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Carving out this side topic in order to close #217. Some background/notes there.
A few different v7 & v8 flavors are on BiggaTomato in branches: v7gs 5849d90 v8 d8da55e Refamiliarize.
5849d90
d8da55e
Another possible v7 variant...
// simple, collapsed & traveled vertex numbers, per thread int& HighwayGraph::s_vertex_num(HGVertex const* v, const int threadnum) { return vnums[(threadnum*vertices.size()+v-vertices.data())*3]; } int& HighwayGraph::c_vertex_num(HGVertex const* v, const int threadnum) { return vnums[(threadnum*vertices.size()+v-vertices.data())*3+1]; } int& HighwayGraph::t_vertex_num(HGVertex const* v, const int threadnum) { return vnums[(threadnum*vertices.size()+v-vertices.data())*3+2]; }
That's a hell of a lot of arithmetic to get our array indices.
vnums
static thread_local
threadnum*vertices.size()+
size()
begin()-end()
unsigned int vnum = HGVertex::vnums+(v-vertices.data())*3;
vnum[0]
vnum[1]
vnum[2]
Like I said in #217 (comment)
Hold off until more optimizations are in place and any changes may be more easily observed.
TMBitset is implemented, but there's more that can be done:
TMBitset
HGEdge
HGEdge::intermediate_points
HGVertex
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Carving out this side topic in order to close #217. Some background/notes there.
A few different v7 & v8 flavors are on BiggaTomato in branches:
v7gs
5849d90
v8
d8da55e
Refamiliarize.
Another possible v7 variant...
That's a hell of a lot of arithmetic to get our array indices.
vnums
to astatic thread_local
HGVertex member.This gets rid of
threadnum*vertices.size()+
,size()
itself being calculated viabegin()-end()
.unsigned int vnum = HGVertex::vnums+(v-vertices.data())*3;
vnum[0]
,vnum[1]
&vnum[2]
.Like I said in #217 (comment)
TMBitset
is implemented, but there's more that can be done:HGEdge
alignment & sizeTMBitset
HGEdge::intermediate_points
-> C arrayHGEdge
(depends on contiguous Waypoints)TMBitset
HGVertex
size & alignmentThe text was updated successfully, but these errors were encountered: