Тёмный

Performance Optimization, SIMD and Cache 

Sergiy Migdalskiy
Подписаться 472
Просмотров 36 тыс.
50% 1

Опубликовано:

 

19 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 50   
@armpap1
@armpap1 5 лет назад
Very insightful and still relevant in 2019.
@MatthewBooth
@MatthewBooth 9 лет назад
Really interesting talk by a valve developer on the importance of optimising for cache. Python must make CPU developers cry.
@migdalskiy
@migdalskiy 8 лет назад
+Matthew Booth Thank you for the comment! Python is definitely not the best choice to write highly optimized rendering engine... But there are different tools for different jobs. Python's great for writing high level logic in a readable way and iterating fast. And there are CUDA and C++ bindings for the critical parts. Although debugging the PythonC++ bridge isn't very convenient.
@iestynne
@iestynne 9 лет назад
Bravo! Best animations for a technical talk that I have seen :)
@migdalskiy
@migdalskiy 9 лет назад
iestyn Bleasdale-Shepherd Thanks!
@steveradomski5119
@steveradomski5119 6 месяцев назад
This is so dense and hits so many important topics without any fluff.
@corymarsh6178
@corymarsh6178 3 года назад
Thanks for putting this out. Great video. I wish more US programmers were knowledgeable at this level.
@PopescuAlexandruCristian
@PopescuAlexandruCristian 8 лет назад
Great talk. I especially liked the relative pointers and the Big O sections.
@GordonAitchJay
@GordonAitchJay 8 лет назад
31:50 "So we talked about how CPU works and then about a weird little trick that can help you lose 32 bytes in a day or less." haha! Thanks for the video, I learned a lot.
@WesleyRobb
@WesleyRobb 8 лет назад
Great presentation. Thank you for taking the time to share these valuable insights and your experience with us! Some 5 min talks on specific topics would be awesome.
@MasthaX
@MasthaX 2 года назад
This is the sort of stuff game programmers should also know, whenever I see videos about game development it's never, or rarely anything related to optimization. It's the sort of things many if not all beginner programmers will be thrown off by noticing that their application or system does not scale well which in most cases can be largely mitigated by actually knowing what your code blocks do on a hardware level.
@riibbert
@riibbert 4 года назад
Very good presentation. Surely I will follow your advices to improve my project's perfomance!
@Trogzul
@Trogzul 8 лет назад
Must say, great video. Especially for me as someone who is studying game programming, this was very enlightening, and much easier to follow than a lot of the other stuff I have read/watched. So, thank you very much :)
@migdalskiy
@migdalskiy 8 лет назад
+Trogzul Thank you for the encouraging feedback!
@PauloZaffari
@PauloZaffari 9 лет назад
Really good presentation. All who want to work as engine programmers should see it. It wouldn't be bad if game programmers saw it too.
@migdalskiy
@migdalskiy 9 лет назад
Paulo Zaffari I'm glad you liked it, please forward it to everyone you think would benefit :)
@JasperLaw
@JasperLaw 7 лет назад
Thank you so much! This is not only invaluable, but also really, really interesting.
@stingray427
@stingray427 2 года назад
wow, so many thoughtful insights! One of the most informative video for me! Thx a lot!
@AlexandruEne0x0
@AlexandruEne0x0 9 лет назад
A really nice and informative presentation. Thanks for taking the time and recording this :).
@sandeepchandappillai9814
@sandeepchandappillai9814 8 лет назад
Highly Enlightening ! Thank you .
@Mike.Garcia
@Mike.Garcia 5 лет назад
Good talk!
@michaelan9688
@michaelan9688 Год назад
Looking forward to the improvements of sse 4.1 for Dota 2 later this year ;)
@Sicaine
@Sicaine 9 лет назад
Wonderful easy to understand video with nice visualisation. Now when do you do a follow up talk on the hard parts? :-)
@migdalskiy
@migdalskiy 9 лет назад
Sigi Thanks for the praise :) What parts do you mean? What did you find hard? I'm thinking about recording another talk, very short, ~5 minutes, a single subject. Like, explain binary numbers with fractions. Useful for implementing quantization correctly. And understanding IEEE floats well.
@user-jj5mi1yl6p
@user-jj5mi1yl6p 7 лет назад
Thanks, really useful. Is any chance to see more such kind of videos in future?
@migdalskiy
@migdalskiy 7 лет назад
You can count on it, when I have more time or find someone willing and able to work on the production of one with me :)
@tomasarce6435
@tomasarce6435 3 года назад
You should make more videos like this
@Bestmann3n
@Bestmann3n 6 лет назад
Do you have any recommended in-depth resources for the topics you covered? Great talk by the way, thank you!
@miniputyin
@miniputyin 8 лет назад
Someone got something working @31:56 :D
@migdalskiy
@migdalskiy 8 лет назад
+András Gajdács I'll do better next time :)
@miniputyin
@miniputyin 8 лет назад
+Sergiy Migdalskiy Just to make things clear, there's nothing wrong with your speech, I really do enjoyed your presentation! I was talking about the background noise, if you listen closely you can hear an outcry (which I suppose is due to someone got something finally working). Anyway, I can't wait to get more details about Source 2. I hope it will revolutionize game development and gaming experience just like the Source engine did in the early 2000's.
@icguy
@icguy 8 лет назад
lol tényleg :D
@raicuandi
@raicuandi 9 лет назад
Great job!
@migdalskiy
@migdalskiy 9 лет назад
Andy Robbins Thanks!
@tamasionut2279
@tamasionut2279 8 лет назад
@Sergiy Migdalskiy @19:30 How can you check if a cache line is being used by another core? Is there a way to check for the MESI/MOESI/MESIF bits? PS: Great presentation, btw.
@andriinikolaiev8255
@andriinikolaiev8255 3 года назад
Great talk :). But I have question though. In 60th slide there example of implementation of RPointer. I do not really understand implementation of operator -> Why does it use m_nOffset twice in return operator? And how is base pointer for offset provided there. For context: There is an implementation from slides: template class RPointer { unsigned short m_nOffset; public: T* operator -> () { Assert( m_nOffset != 0 ); // must not be NULL return ( ( byte* )&m_nOffset ) + m_nOffset; } void operator = (T*p){m_nOffset = p?((byte*)p)-(byte*)this:0;} };
@migdalskiy
@migdalskiy 3 года назад
Thanks for watching! The first use is to take the address of the RPointer itself. The second is to add the offset to it. m_nOffset holds the offset, in bytes, from the memory location holding m_nOffset itself. That's the whole idea. If you memmove that memory anywhere else, it'll still point to the same data. No fixups needed.
@SAS1122334455
@SAS1122334455 7 лет назад
классное видео pls do more like this!
@vladdydaddy1026
@vladdydaddy1026 2 года назад
I wonder If Sergiy will work on Left 4 Dead 3 or Portal 3 lol
@satellite964
@satellite964 5 лет назад
teach us master!
@romanromanchuk7718
@romanromanchuk7718 2 года назад
are you from Belarus?
@voodoo5191
@voodoo5191 2 года назад
You look like isaac clarke from dead space 1
@keptleroymg6877
@keptleroymg6877 Год назад
Lol at game dev calling micro cycles ticks
@grassboy7573
@grassboy7573 Год назад
please, if this man messages you on discord, do not do what he asks for, i have lost 30 euros cause of his dirty doings
@migdalskiy
@migdalskiy Год назад
Beware of impostors. I don't even use discord.
@grassboy7573
@grassboy7573 Год назад
@@migdalskiy wait are you sure? i have just been messaged by Sergiy Checker#8140, he has your face on the profile picture and has claimed that i need to buy a 50 dollar steam gift card to unban my steam account for false accusations, could it be somebody is pretending to be you or is it really you who tried scamming me?
@konstantinrebrov675
@konstantinrebrov675 4 года назад
Слишком много слов. Пожалуйста попроще и покороче. The details get in the way, and there are too many terms that are not explained. Hard to follow in general.
@daniil-shevtsov
@daniil-shevtsov Год назад
I think this talk is more for people who are already knowledgeable in this area. If you want something simpler and more beginner-friendly about the same subject, I liked this talk (Practical Optimizations - Jason Booth): ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-NAVbI1HIzCE.html
@GordonAitchJay
@GordonAitchJay 8 лет назад
31:50 "So we talked about how CPU works and then about a weird little trick that can help you lose 32 bytes in a day or less." haha! Thanks for the video, I learned a lot.
Далее
А вам, слабо?
00:22
Просмотров 30 тыс.
Intrinsic Functions - Vector Processing Extensions
55:39
When Optimisations Work, But for the Wrong Reasons
22:19
Harder Drive: Hard drives we didn't want or need
36:47
Dear Game Developers, Stop Messing This Up!
22:19
Просмотров 713 тыс.
SIMD Libraries in C++ - Jeff Garland - CppNow 2023
1:30:07
So You Think You Know Git - FOSDEM 2024
47:00
Просмотров 1,1 млн
Every Programming Language Ever Explained in 15 Minutes
15:29
А вам, слабо?
00:22
Просмотров 30 тыс.