Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Jan 31 15:06

    ldionne on gh-pages

    Update benchmarks to 490dbf6 fo… (compare)

  • Jan 24 07:47

    ldionne on gh-pages

    Update benchmarks to 490dbf6 fo… (compare)

  • Jan 23 02:04
    pthom commented #432
  • Jan 18 12:46

    ldionne on gh-pages

    Update benchmarks to 490dbf6 fo… (compare)

  • Jan 16 22:27
    ricejasonf commented #434
  • Jan 05 06:22
    ricejasonf commented #330
  • Jan 03 11:40

    ldionne on gh-pages

    Update benchmarks to 490dbf6 fo… (compare)

  • Jan 02 00:33
    ricejasonf closed #434
  • Jan 02 00:33
    ricejasonf commented #434
  • Jan 02 00:04
    ricejasonf opened #434
  • Dec 27 2018 13:11

    ldionne on gh-pages

    Update benchmarks to 490dbf6 fo… (compare)

  • Dec 22 2018 11:56
    pthom commented #432
  • Dec 22 2018 11:55
    pthom commented #432
  • Dec 21 2018 15:48
    pthom synchronize #432
  • Dec 21 2018 09:19
    sdebionne opened #433
  • Dec 21 2018 00:08
    ricejasonf commented #432
  • Dec 21 2018 00:03
    ricejasonf commented #432
  • Dec 20 2018 23:36
    pthom commented #432
  • Dec 20 2018 23:36
    pthom commented #432
  • Dec 20 2018 23:13
    ricejasonf commented #432
Jason Rice
@ricejasonf
ice?
Maik Klein
@MaikKlein
internal compiler error
Jason Rice
@ricejasonf
no
Maik Klein
@MaikKlein
hm k
Jason Rice
@ricejasonf
It could be that you are still using an old version of libstd++ on your system
I don't remember how I fixed that on mine.
Maik Klein
@MaikKlein
I think that is the problem
readelf -sV /usr/lib/libstdc++.so.6 | sed -n 's/.*@@GLIBCXX_//p' | sort -u -V | tail -1
gives me version 3.4.21
Jason Rice
@ricejasonf
I want to say changing the symlink for the g++ binary fixed it.
Maik Klein
@MaikKlein
does the command above print 5.1 for you?
Jason Rice
@ricejasonf
jason@jason-nuc:/usr/lib/gcc/x86_64-linux-gnu/5.1.0$ readelf -sV libstdc++.so | sed -n 's/.*@@GLIBCXX_//p' | sort -u -V | tail -1
3.4.21
Jason Rice
@ricejasonf
@ldionne It occurred to me that I could give you push access to my fork if that is easier than having a branch in the upstream repo. (wrt #226)
Louis Dionne
@ldionne
Or I could just create that damn branch on the upstream. I’m sorry it’s been so long. The thing is that this PR is actualy a huge chunk; it’s hard to tell whether we’re improving or not, and there are also other approaches (hashing) available. 1 minute
Jason Rice
@ricejasonf
I'm not in a hurry or anything so no rush. ;)
We could always have multiple branches with different tweaks to run benchmarks on and contrast and compare.
I was actually thinking about making another PR to attempt to improve hana::pair. (maybe it would be faster if it wasn't a wrapper for a basic_tuple idk)
Louis Dionne
@ldionne
Yes, in retrospect I think that would be better. You can see my (rather extensive) changes here
I also removed the fast lane for looking up hana::types, since it was broken (the specialization would never match), and I did not take time to reimplement it properly.
I also rebased the branch on top of develop. Check the changes out, then we’ll discuss them.
Louis Dionne
@ldionne
@ricejasonf I added comments. In retrospect, some of my changes should be reverted to what you did, or a slight variation of it.
Jason Rice
@ricejasonf
get_map_elt_type was like a workaround to a forwarding reference issue that no longer existed after making the three overloads of map_get_helper. lol sorry about that one.
Jason Rice
@ricejasonf
I think the at_key.lookup is a better benchmark because the size of the map is constant and it tests the lookup time of finding the nth element which is O(1) for map and O(n) for the others.
Jason Rice
@ricejasonf
85% of it was hana::make_pair btw. (as well as constructing the pairs manually)
Louis Dionne
@ldionne
Right; I do think that we’ll have to check the benchmarks out and make sure we’re benchmarking the right thing. It’s just very difficult to properly benchmark compile-times.
Jason Rice
@ricejasonf
Somewhere along the line I gained the incorrect assumption that unused parameters were strictly used for overloading and didn't result in a copy if you didn't specify const&. :open_mouth:
Even an empty struct gets copied.
; Function Attrs: uwtable
define i32 @main() #3 {
  %1 = alloca %struct.Silent, align 1
  call void @_Z5helloI6SilentEvT_()
  ret i32 0
}

; Function Attrs: nounwind uwtable
define linkonce_odr void @_Z5helloI6SilentEvT_() #4 comdat {
  %1 = alloca %struct.Silent, align 1
  ret void
}
@ldionne Did your clang built-in ever get looked at?
Jason Rice
@ricejasonf
The search bar in the docs appears to be broken.
Maik Klein
@MaikKlein
Can confirm the search bar is also broken for me.
Is there an alternative to unpack?
  auto r4 =
    hana::unpack(t, [](auto&... r) { return ranges::view::concat(r...); });
this will always crash the compiler :(
I need to pass the elements of a tuple to a function
int
main()
{

  std::vector<int> iv{ 1, 3, 4, 5 };
  std::vector<float> fv{ 1, 3, 4, 5 };

  auto r1 = ranges::view::all(iv);
  auto r2 = ranges::view::all(fv);
  auto r3 = ranges::view::zip(r1, r2);
  auto rint =
    ranges::view::zip(r3, ranges::view::closed_ints(0ul, ranges::size(r3)));
  auto t = hana::make_tuple(rint, rint);
  auto r4 =
    hana::unpack(t, [](auto&... r) { return ranges::view::concat(r...); });
  //crash
  for(auto t: r4){

  }
}
Maik Klein
@MaikKlein
Also tried
  auto r4 =
    hana::unpack(t, ranges::view::concat);
oh nvm sorry, it is completely unrelated to hana.
Maik Klein
@MaikKlein
I run into way too many compiler errors lately, any ideas? How can I check which version of libstdc++ is used by clang?
Louis Dionne
@ldionne
@MaikKlein You can try clang++ -E -x c++ - -v < /dev/null and see if the header search paths help you. Otherwise, see this SO question.

@ricejasonf

Did your clang built-in ever get looked at?

Not yet... Still waiting.

The search bar in the docs appears to be broken.

How is it broken? It seems to work for me.

Jason Rice
@ricejasonf
Yesterday it wasn't populating search results box. It's working for me now though.
Louis Dionne
@ldionne
Strange; perhaps some javascript requirement was unable to load properly?
Jason Rice
@ricejasonf
idk.. I tried hard refreshing it yesterday without change. I saw xhr requests with 200 responses but no response body.
Louis Dionne
@ldionne
Well, as long as it works now. Plus, I have not changed anything significant that could have broken this.
Jason Rice
@ricejasonf
I guess they aren't actually xhr requests. naw it's working fine now. It could have been a github thing
Jason Rice
@ricejasonf
It would be handy to have a version of partial or capture that captures by reference.
Barrett Adair
@badair
Indeed!
Maik Klein
@MaikKlein
okay it seems clang3.7 on arch is broken
Louis Dionne
@ldionne
@ricejasonf Technically, you can achieve this with std::ref, but you’ll end up with reference wrappers instead of actual references.
Jason Rice
@ricejasonf
@ldionne Yes, I'm going to play around with that.