Название | : | Unrolling the Loops - Computerphile |
Продолжительность | : | 9.48 |
Дата публикации | : | |
Просмотров | : | 131 rb |
|
yeah wow, works for me Comment from : Salted Avocado |
|
Lam alif lukie jemonbrMasush er sohi achen temon Comment from : Alif lam mim Lamalif |
|
O véio sabe muito, sé loko Comment from : Pedro Augusto Pereira H dos Santos |
|
no one:brbrgcc:bruh If i unroll this loop 100 times more, I will gain 00001ns I'll do it Comment from : Maciej Lord225 Złotorowicz |
|
It is always a great pleasure to learn from you, Professor Brailsford Thank you Comment from : Gaël James |
|
I'm very surprised that the Duff's Device wasn't mentioned here as an unrolling halfway house Comment from : Jeff Watkins |
|
interesting video and audio to me, love it, much love and take care, brother and all:))black_heartx2* Comment from : SniperNinja-115 |
|
this man has to read audiobooks! pls! Comment from : Max W |
|
PostScript really is a miserable language If we were starting from scratch today a printer description language would not look anything like it But I do remember the first documents I laser-printed on a Mac The print quality was astounding when all you were used to was dot matrix and daisy-wheel machines Comment from : David Gillies |
|
Do modern compilers unroll infinite loops as well? 99 copies and a jump would make Web server tight loops tighter! Comment from : naj |
|
His ideas about performance optimization are really outdated For many years compilers have been able to inline functions and unroll loops Compilers know when to do this better than most humans do Comment from : Martin Kunev |
|
I thought that postscript language was a stack based language, which would make the overhead of functions irrelevant Granted, for loops will still have overhead Comment from : Daniel Whiteley |
|
What you've discussed here is somewhat related but I think a video specifically on compiler optimizations and ideas like inlining functions would be a good idea Comment from : ckmishn |
|
this guy is the cure for insomnia Comment from : I Dunno |
|
3:15 Global variables!!! LOL Comment from : RonJohn63 |
|
@4:49 won't lie, 9/10 i would've reprinted Comment from : Dimpho Moletsane |
|
The other thing loop unrolling can do on modern pipelined machines is if you do a partial unroll (so still writing a loop but each iteration does two sets of work) is improve instruction schedualling and reduce the amount of time the CPU stalls waiting for a previous instruction to actually complete Comment from : spudd86 |
|
Yes, this is good Comment from : HerrLavett |
|
Comment from : Iwan Bonnén |
|
Doesn't the compiler automatically do this for you when the number of iterations can be evaluated at compile time (instead of runtime)? Comment from : Fiyaah |
|
He's a linguistician Comment from : Daylen Riggs |
|
Printers have not really progressed much if at all since their inception Ask any artist and you will hear endless laments about how colors never print correctly Resolution has been stuck for decades, some will blame the medium, but no one has offered a change This is prime real estate for innovation Comment from : Ergo Gray |
|
Um doesn't most modern compilers do this automatically? Comment from : HolyGarbage |
|
it's for those kind of trick that sometimes it's nice to write your own compiler so you could add special keywords to do special trick, like unrolling a loop(n-times) Comment from : fcycles |
|
Why can't the compiler unroll the loop? If the counting variable isn't changed within the loop and the start and limit numbers are constant, I can't see a reason for why it couldn't Comment from : Daniel Hansson |
|
Wow, hard to get used to 50 fps Comment from : Binyamin Tsadik |
|
I dont think I want to be unrolled D: Comment from : Super Loops |
|
This is very interesting brbrTh logic of the programming language is so odd compared to daily life logic Comment from : Ruka sub ch |
|
Saw a video saying "don't make a class unless you need a class" they said 99 of the time we don't need a "class" Taking it out reduced code lines used by like 90 or more and I assume a lot of speed to :P Comment from : TechyBen |
|
If I had Professor Brailsford as a lecturer, I might actually go Comment from : Just Relax A Little |
|
Extremely informative for sure, demonstrating how writing one line six times may be more time efficient than writing one line and using it six timesbrbrMy question is, in real life scenarios with real computers sometimes simulating smaller computers or running simulated environments, how often does using loops actually cause detrimental time problems?brbrI understand that in a three function program that just blinks an led it doesnt matter how many times you use a for loop, because theres only two in the whole program, if that, but at what level does it start slowing down performance? Comment from : WeAreGRID |
|
You could do a whole video about why his printer cut off the pointy brackets and how to fix that As much as he knows about printing with computers, I bet the answer would be amazing Comment from : Hsfh Fejtpo |
|
Professor Brailsford has the best videos on this channel Comment from : George Moore |
|
the best storyteller on youtuber Comment from : Brian Graves |
|
Would have been cool to see the performance times of each of your programs Comment from : Vokoder |
|
BOOO! This video is poison for the minds of little CS students! Videos on computer history should mention the modern way things like this are done, so the students don''t end up wasting time futzing with solved problems Comment from : Andy B |
|
Make a video about Ted Nelson (inventor of hypertext) and the Xanadu project Comment from : approbatory |
|
The overhead of a loop is sometimes preferable to the overhead of not having a loop Modern compiles are also pretty good about preserving the stack frame across iterations of a loop Inspecting the various loops in a given program is an adventure, you find a lot of neat tricks the compilers are using to improve their performing without performing a full unroll Comment from : Eidetic Ex |
|
great topic, well presented, postscript though? c'mon Comment from : Vance Morris |
|
congrats on being awarebrsee how deep the rabbit hole goes Comment from : Michael Rosol |
|
I think the question is, How can we get away from adobe? I like adobe as much as apple It is computer cancer For me Flash completely destroyed their reputation Comment from : Dunno DoYou |
|
This is not the same Warnock as the one referenced by Warnock's Dilemma, in case people are wondering Comment from : Luna Sophia |
|
Loops are not webscale Comment from : slikts |
|
Loop unrolling also has diminishing returns, so you can do 8 or 16 iterations per loop for example, and clean up the remainder (if any) afterward This way you can keep the code bloat under control while still getting just about all the performance gain there is to be had from unrolling Comment from : vonkruel |
|
Can't this step be done at compile time by default? (Or is it already being done? :D) Comment from : Nipuna Gunathillake |
|
This guy is awesome! More please! Comment from : StankyPickle |
|
Bombshell at the end Comment from : AlphaOmega |
|
i remember even in the 90s unrolling loops to gain speedbrhowever, nowadays instruction cache is way faster than memory, so don't unroll a loop that fits in cache! plus unrolling loops increases code size and therefore more memory is needed to store the program, so slows it downbra lot depends on your architecture and you need to balance portability and maintainability of code with performance Comment from : MusicalRaichu |
|
I'd have stayed in college if I'd had profs like Brailsford Comment from : macrossactual |
|
I love discussions like these Little secrets like these don't get taught to you in computer science courses until later on These are the real truths behind programming Comment from : Le fyziks guise |
|
I'm subscribed to over 80 channels, many of them informational/educational like computerphile, and professor Brailford is by far the most well-spoken person I've come across No umms or ahhs in over 10-minute long videos seemingly completely improvised I'm aware editing exists, but still, in single shots, sometimes many minutes long, he is simply captivating to listen to Comment from : Marci124 |
|
how many months since this video was alluded to? Comment from : linkviii |
|
Excellent image quality Can you share some details about an equipment and codecs used? Comment from : Tomasz Różański |
|
Could you, at some point, make a video about self-modifying code? Comment from : Ivan The Space Biker |
|
I'm so glad Adobe Flash is on it's last legs What a shitty unsecure piece of code Can't wait until Google wipes it off the face of the earth Comment from : SilentS |
|
If you really want to shrink your file-size though, you can use tokenized postscript instead, which lets you use self-delimiting two-byte tokens for most operators You'd also want to define the '( Comment from : AJMansfield |
|
You guys could visually demonstrate the performance increase on TIS-100 or Human resource machine in steam Comment from : MDuh Gaming |
|
Wow I was just reading about unrolling loops on my Code Complete copy Coincidence? Yes, coincidence is exactly what it is :P Great explanation/anecdote Comment from : Sergio Cabral |
|
Lack of efficiency Perceptively the problem with so many web systems and pages Such as running a simple static website under WordPress or Joomla on a shared server with a hundred other sites doing the same thing Keep your code simple with as few go get requests as possible and stop loading code and scripts that do nothing on a given page, just because the system makes it easy to add a feature, whether or not the feature is actually used Good video Comment from : CowboyFrankHarrell |
|
why are the different styles for writing letters called fonts on computers but are called typefaces on typewriters and printing press ? Comment from : Ciarán Farley-Toone |
|
I have to disagree with one thing in this video, at 4:11 this is completely wrong, any good computer scientist would copy and paste it! Comment from : That Guy |
|
The computerphile logo has invalid markup Comment from : kaleonline |
|
It's funny how doing the naive thing is noticeably more efficient than the "elegant" thing Comment from : ElagabalusRex |
|
All hail the Duff's Device! Comment from : Ihrbekommtmeinen Richtigennamennicht |
|
I have been waiting a long time for this video Is it two years ago you said you would do a video titled "Unrolling the loops"? I can't even remember what video mentioned it, or whether it was in the description or at the end of the video itself Comment from : MasterHigure |
|
2:46 m/ :D Comment from : Swoerm |
|
It is not that simple anymore (and hasn't been for more than a decade) Ever since program speed became highly dependent on cache performance and pipelines, loop unrolling can drastically decrease your performance Even the order of instructions can have large impacts Comment from : Willem M |
|
-funroll-loops gotta go fast zip zap zooom Comment from : Ivo |
|
A good programmer leans toward the proper extreme for the program they are working on It's fun to be able to write highly expressive abstract code but also be able to drop down and lead the compiler around by the nose A very enjoyable video about considering the needs of the program as well as the needs of the programmer Comment from : PixelOutlaw |
|
This guy remains one of my favourite Computerphile presentors! Comment from : Sapphire Crook |
|
Wow, I'm happy that nowadays I'm lucky enough not to worry about things on that low-level Copy-pasting a loop so that a simple comparison is omitted? Shortening variable names to keep file size down? That just puts things into perspective to me It's just incredible how people could write quality software with that kind of constraints Comment from : Mattcay |
|
Please make more videos I love those especially the Computerphile videos Comment from : Frekky |
|
Did John Warnock intend to make PostScript Turing-complete? Comment from : douro20 |
|
third Comment from : Jake Carver |
|
Second Comment from : Money4Nothing |
|
I like computers Comment from : vicente alvarado |
|
First Comment from : MAGIC_RWN |
|
first Comment from : sinimurk |
![]() |
Alderson Loop - Computerphile РѕС‚ : Computerphile Download Full Episodes | The Most Watched videos of all time |
![]() |
1 4 6 Loop Unrolling РѕС‚ : Prof. Dr. Ben H. Juurlink Download Full Episodes | The Most Watched videos of all time |
![]() |
Programming Loops vs Recursion - Computerphile РѕС‚ : Computerphile Download Full Episodes | The Most Watched videos of all time |
![]() |
Loop Unrolling - Georgia Tech - HPCA: Part 3 РѕС‚ : Udacity Download Full Episodes | The Most Watched videos of all time |
![]() |
Where HTML beats C? - Computerphile РѕС‚ : Computerphile Download Full Episodes | The Most Watched videos of all time |
![]() |
Physics of Computer Chips - Computerphile РѕС‚ : Computerphile Download Full Episodes | The Most Watched videos of all time |
![]() |
EXTRA BITS - More on E-Reader Text Layouts - Computerphile РѕС‚ : Computerphile Download Full Episodes | The Most Watched videos of all time |
![]() |
Essentials: Hidden Pointers - Computerphile РѕС‚ : Computerphile Download Full Episodes | The Most Watched videos of all time |
![]() |
Loop Unrolling Benefits CPI Part 1 - Georgia Tech - HPCA: Part 3 РѕС‚ : Udacity Download Full Episodes | The Most Watched videos of all time |
![]() |
The Most Difficult Program to Compute? - Computerphile РѕС‚ : Computerphile Download Full Episodes | The Most Watched videos of all time |