K-ballo changed the topic of #ste||ar to: STE||AR: Systems Technology, Emergent Parallelism, and Algorithm Research | stellar.cct.lsu.edu | HPX: A cure for performance impaired parallel applications | github.com/STEllAR-GROUP/hpx | Buildbot: http://rostam.cct.lsu.edu/ | Log: http://irclog.cct.lsu.edu/
<hkaiser>
ok
hkaiser has quit [Quit: bye]
bita has quit [Read error: Connection reset by peer]
bita has joined #ste||ar
bita has quit [Ping timeout: 260 seconds]
bita has joined #ste||ar
bita has quit [Ping timeout: 244 seconds]
<ms[m]>
K-ballo: `bits/exception.h` doesn't quite look right... as do the changes to the swapcontext files
<ms[m]>
but nonetheless very cool if that now mostly works correctly to detect missing and unnecessary includes!
<ms[m]>
re the manual global module headers: those are partly from before we renamed them to `hpx/modules/modulename.hpp` when we actually had `hpx/modulename.hpp` headers from before, and partly where the module only has one file and it didn't make much sense to have an extra level of indirection (not that it would hurt), but we could just as well generate all of them instead
<K-ballo>
anything from bits/ is still missing in the libstdc++ mapping
<gonidelis[m]>
K-ballo: what you are trying to push, is for our code to detect the proper includes automatically?
<K-ballo>
something like that, yeah
<K-ballo>
we are notoriously bad at getting our #includes right
<K-ballo>
we already have some low tech regex based include checks, this is the real thing, an actual compiler understanding the code
<zao>
Include What You Use, right? Took me a while to grok the acronym.
<gonidelis[m]>
K-ballo: what are the disadvantages of having redundant #includes? Does it affect compile time performance a lot?
<gonidelis[m]>
or is it just a readability issue?
<K-ballo>
redundant as in the same include twice? or redundant as in including headers that nobody uses?
<gonidelis[m]>
the second
<K-ballo>
compile time and memory usage, false dependencies,
<gonidelis[m]>
oh ok.... that sounds like a serious spaghetti that needs to get untightened here
<K-ballo>
the more serious problem is the other side, not including things that are actually used
<gonidelis[m]>
but doesn't the compiler provide that info in the first place?
<K-ballo>
no?
<gonidelis[m]>
how could be sth used if it's not included ? ;p
<K-ballo>
that's precisely why we are getting modules in the language
<K-ballo>
the compiler can't tell the difference between headers
<K-ballo>
doesn't know whether a header includes something to export or to use it privately
<gonidelis[m]>
hm... didn't know that. c++ compilation theory seems quite intriguing
<K-ballo>
I saw it, but I don't know how to review
<K-ballo>
how do I try it out?
hkaiser has joined #ste||ar
<ms[m]>
K-ballo: ooh, I see, you don't try it out (as in the image is not pushed anywhere until it's actually merged)... I suppose the easiest way for you to try it would be to pull our current image and do `apt update && apt install iwyu` and then try it out there