hkaiser 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 has quit [Quit: bye]
hkaiser has joined #ste||ar
hkaiser has quit [Ping timeout: 252 seconds]
K-ballo has quit [Quit: K-ballo]
nanashi55 has quit [Ping timeout: 252 seconds]
nanashi55 has joined #ste||ar
Vir has quit [Ping timeout: 245 seconds]
<simbergm>
heller_, yes, @heller on GH must really hate me
<hkaiser>
not sure if those still make sense, may create duplicates
<simbergm>
so as long as one is referring to functions etc with things like :cpp:function:`hpx::parallel::blah` they should get linked correctly to the api docs
<hkaiser>
ok
<simbergm>
was there also a reverse index? to find occurrences of some term?
<hkaiser>
yeah, that was this index was doing
<hkaiser>
it was using a regex scan of the sources to find occurences
<hkaiser>
(doc sources)
<simbergm>
hmm, interesting, not sure that's possible
<simbergm>
but I can have a look
<hkaiser>
sure, no worries
jayeshbadwaik has quit [Remote host closed the connection]
<ste||ar-github>
hpx/function-target 655bac8 Agustin K-ballo Berge: Drop util::[unique_]function target_type
ste||ar-github has left #ste||ar [#ste||ar]
<hkaiser>
K-ballo: you did measure reduction of bloat for this PR, what are the results?
<K-ballo>
drats, I just dropped the numbers
<hkaiser>
rough numbers would be nice
<K-ballo>
~10mb less in debug binary+debug files
<hkaiser>
nice
<K-ballo>
51.8mb vs 51.0mb for hpxd.dll
<hkaiser>
cool
<hkaiser>
and thanks for revising your PR
<K-ballo>
target<T> reduces debug info in ~32bytes
<hkaiser>
I was thinking on how to 'redesign' Phylanx to avoid using target()
<hkaiser>
I think I would have to re-implement something similar to target() myself
<K-ballo>
without understanding the use case, I suggest still avoiding any use of target()
<K-ballo>
from a quick glance it looks like a construct + modify, can't it just be constructed with the right name in the first plcae?
<hkaiser>
K-ballo: it's a type-erased function for which I in some cases need to know what it was created from
<hkaiser>
yes, that modify use case may be changed - perhaps, but there ar purely introspective use cases
<hkaiser>
for instance, slice(x, 0) (the equivalent of x[0], where 'x' is a variable) needs to do a different things from slice(f(), 0), where 'f' is a function
<hkaiser>
but at the point the slice is handled the inner arguments have been created
<hkaiser>
so I need to be able to decide what to do based on the function that represents the inner arg
nanashi55 has quit [Ping timeout: 272 seconds]
nanashi55 has joined #ste||ar
<K-ballo>
in the abstract, it sounds like a chain of dynamic_cast attempts
<hkaiser>
yes
<hkaiser>
our target() implementation does not do any dynamic_cast<>, though
<hkaiser>
but conceptionally you're right
<K-ballo>
right, target<T> is a poor's man dynamic_cast<T>
<K-ballo>
and chains of dynamic casts are a code smell
<hkaiser>
K-ballo: right, I agree - it's still the simplest solution to the problem at hand
<hkaiser>
K-ballo: btw I think we could implement target using enable_if's
<K-ballo>
as opposed to the static assert in it?
<K-ballo>
I argued for that static assert in std::function::target too, but I failed
<K-ballo>
fun.target<int>(); is not an error, but a fancy way of getting a null pointer
<hkaiser>
no, instead of generating a (possibly not used any where else) function table
<K-ballo>
how?
<hkaiser>
possibly not :/ I thought the vtable has an embedded type of the originating function
Vir has quit [Ping timeout: 244 seconds]
Vir has joined #ste||ar
jaafar has joined #ste||ar
david_pfander has quit [Ping timeout: 244 seconds]
jaafar has quit [Read error: No route to host]
jaafar has joined #ste||ar
jaafar has quit [Read error: No route to host]
jaafar has joined #ste||ar
Vir has quit [Ping timeout: 264 seconds]
jaafar has quit [Read error: Connection reset by peer]
jaafar has joined #ste||ar
jaafar has quit [Read error: Connection reset by peer]
jaafar has joined #ste||ar
jaafar has quit [Read error: Connection reset by peer]