CppCon 2019: Andrei Alexandrescu “Speed Is Found In The Minds of People"
Video Statistics and Information
Channel: CppCon
Views: 126,348
Rating: 4.9322033 out of 5
Keywords: Andrei Alexandrescu, CppCon 2019, Computer Science (Field), + C (Programming Language), Bash Films, conference video recording services, conference recording services, nationwide conference recording services, conference videography services, conference video recording, conference filming services, conference services, conference recording, event videographers, capture presentation slides, record presentation slides, event video recording, video services
Id: FJJTYQYB1JQ
Channel Id: undefined
Length: 89min 55sec (5395 seconds)
Published: Wed Sep 18 2019
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.
Any idea how these micro-optimizations and overall idea with threshold work with parallelization of the algorithm?
What do you mean, there's no
rotate
ininsertion_sort
?I sort of follow the trick at 28:20. The least element will be begin[0]. However, the min-heap property ensures that begin[0] < begin[1] and begin[0] < begin[2], but it does not follow that begin[1] < begin[2]. So how is it ensured that the second and third element are ordered correctly (the unguarded_insertion_sorts sorts from (and including) the 4th element to the end, right?)
I enjoyed the talk. I'm not convinced if attributes are the right way to go. Consider annotating the "complexity" of a function with a condition, with a slow computation only inside one branch.
Wouldn't it be better to do this sort of thing in "profile guided optimization" ? Maybe there should be some way to prompt this information. Just thinking aloud.
Being able to specify user definable attributes and query them at compile time has always seemed a hugely important but severely lacking aspect of C++ as it is currently
Currently, if you want to serialise a data structure, at some point you have to do something like
Or whatever. But what if in some situations you want to serialise something only over the network, and not to disk?
Ergh. Not only is there a lot of repetition, but it also can lead to a lot of template instantiation depending on exactly what you're doing
Somewhere, somehow you need to specify this sort of stuff for other systems to consume
I often wish I could write
or some equivalent, and then another system could simply introspect at compile time and process this
The talk was interesting, but I couldn't get behind his conclusions. User defined attributes for describing complexity sound like a maintenance nightmare.
He was right when he said his talk was niche. If anyone on my team started replacing conditionals with arithmetic tricks they would get some training on writing maintainable code.
Are the slides posted anywhere?
I'm always looking forward for Andrei's talks, but this talk I think I've already seen :(
What a great talk. It's great to have someone like Andrei in the community. I'd never really considered this introspection-based programming before. I wonder if this can be added to C++ - the language already feels like it's buckling under it's own weight sometimes.