Welcome, Guest. Please login or register.
Did you miss your activation email?
September 05, 2010, 05:32:38 AM
 Code Cortex CommunityCodingOptimizationPaper on Performance Optimization
Pages: [1]
Print
Author Topic: Paper on Performance Optimization  (Read 456 times)
Neo
Administrator
Adventurer
*****
Posts: 26



View Profile WWW
« on: May 15, 2010, 10:26:23 PM »

Recently, I wrote a paper on performance optimization of the quantum simulation code I've been working on.  The info in it applies to lots of different possible applications to be optimized, though, so hopefully some of you find it useful.  Feel free to ask any questions about the optimization techniques, or anything else you'd like to know.  Smiley
Logged

Become one with the code.
zylick
Apprentice
*
Posts: 8


View Profile
« Reply #1 on: July 19, 2010, 09:42:07 PM »

I liked the paper and went to watch the video's on Optimization no www.showmedo.com but there were only three :/ Where are the rest!
Logged
Neo
Administrator
Adventurer
*****
Posts: 26



View Profile WWW
« Reply #2 on: July 20, 2010, 01:17:06 AM »

Glad you liked it!  As for the tutorials, alas, I've been busy with simulation work and papers for the past year. Embarrassed (e.g. I was just in at work deploying some more simulations around midnight.)  I'll continue to be really busy until I get a paper out on my new quantum algorithm.

I keep trying to get back to making the video tutorials, 'cause I really like to teach, but never seem to have a block of 2-3 nights where I'm able to focus on making an episode of something.  I've made partly-complete slides for 4 to 5 videos on various topics, but haven't completed any.  Sad
Logged

Become one with the code.
zylick
Apprentice
*
Posts: 8


View Profile
« Reply #3 on: July 20, 2010, 06:05:24 PM »

Well, perhaps a [quicky] on optimization for C and C++ using assembly?
Logged
zylick
Apprentice
*
Posts: 8


View Profile
« Reply #4 on: July 21, 2010, 09:16:53 PM »

Well how about some guidence on network code optimization perhaps taking UDP to the next level?
Logged
Neo
Administrator
Adventurer
*****
Posts: 26



View Profile WWW
« Reply #5 on: July 24, 2010, 01:14:24 AM »

Quote
Well, perhaps a [quicky] on optimization for C and C++ using assembly?
I'm leaning toward just C/C++ and explanations in terms of the resulting assembly, but I will need to get my performance viewer (not yet released) fully separated from Inventor IDE... which I'd been planning to do at some point anyway, haha.  Smiley

At the moment, I'm in the middle of a quantum computation workshop, and on Monday evening, I'm flying home for a vacation, so I might have some time to make videos then.

Well how about some guidence on network code optimization perhaps taking UDP to the next level?
Unfortunately, networking is not my forte.  I have a couple of friends who would know more, but I don't know much about implementing networking protocols.
Logged

Become one with the code.
zylick
Apprentice
*
Posts: 8


View Profile
« Reply #6 on: July 29, 2010, 07:52:34 PM »

Quote
Well, perhaps a [quicky] on optimization for C and C++ using assembly?
I'm leaning toward just C/C++ and explanations in terms of the resulting assembly, but I will need to get my performance viewer (not yet released) fully separated from Inventor IDE... which I'd been planning to do at some point anyway, haha.  Smiley

At the moment, I'm in the middle of a quantum computation workshop, and on Monday evening, I'm flying home for a vacation, so I might have some time to make videos then.

Well how about some guidence on network code optimization perhaps taking UDP to the next level?
Unfortunately, networking is not my forte.  I have a couple of friends who would know more, but I don't know much about implementing networking protocols.

THIS IS AWESOME!! I await more information !
Logged
Neo
Administrator
Adventurer
*****
Posts: 26



View Profile WWW
« Reply #7 on: July 30, 2010, 10:48:38 AM »

THIS IS AWESOME!! I await more information !
Glad you're excited!  Grin  The quantum computation workshop went pretty well, but there are a few nails left to be put in a particular coffin, so I'll stick to a regular performance optimization tutorial for now.

I'll probably get going on the tutorial on Monday (after Deep River Summerfest), so probably have something ready-ish Wednesday, out Thursday, and now that I've put a date to it, I'll probably be late by a few days, but at least get something out, lol.
Logged

Become one with the code.
Neo
Administrator
Adventurer
*****
Posts: 26



View Profile WWW
« Reply #8 on: July 30, 2010, 11:16:33 AM »

Oh, and in case you were wondering, this is what my performance viewer looks like.  It lets you compare the performance of different algorithms / data sets and see how they scale relative to an input parameter (like number of elements).

Logged

Become one with the code.
zylick
Apprentice
*
Posts: 8


View Profile
« Reply #9 on: August 02, 2010, 04:50:48 PM »

Oh, and in case you were wondering, this is what my performance viewer looks like.  It lets you compare the performance of different algorithms / data sets and see how they scale relative to an input parameter (like number of elements).


I am sure as soon as I learn more about this stuff or get directed on where to learn it. This kind of stuff will make tons more sense. But right now, I'm still a little lost. I have some programs that I have written in C and C++ but I have no idea where to start at learning Assembly. I have been doing your lessons but I feel like I am still in the monkey see monkey do stage.
Logged
Neo
Administrator
Adventurer
*****
Posts: 26



View Profile WWW
« Reply #10 on: August 04, 2010, 10:35:37 PM »

I am sure as soon as I learn more about this stuff or get directed on where to learn it. This kind of stuff will make tons more sense. But right now, I'm still a little lost. I have some programs that I have written in C and C++ but I have no idea where to start at learning Assembly. I have been doing your lessons but I feel like I am still in the monkey see monkey do stage.

Well, I've now set up a few experiments in C++ for the first few videos on performance optimization.  It's much easier to set up experiments in C++, but it's unfortunately harder to explain what's going on and why the results are the way they are, since the compiler hides a ton of information.  As such, some of the ideas may involve temporarily taking my word for it, but luckily, you will be able to play around with things and do your own experiments more easily than in Assembly.  Smiley

Ironically, it's hardest to accurately time very short, simple things, so as the experiments get more elaborate, the results should be more consistent.  The timings for the first experiment change a bit with almost every run.  Tongue
Logged

Become one with the code.
zylick
Apprentice
*
Posts: 8


View Profile
« Reply #11 on: August 16, 2010, 09:29:37 PM »

I'm reviewing the videos again to see if I can gain some more knowledge out of them.
Logged
zylick
Apprentice
*
Posts: 8


View Profile
« Reply #12 on: August 24, 2010, 11:51:08 AM »

Ok, I think I figured out what you were saying. So, I need to focus on design and implementation and I learned about big O notation but I'm still trying to figure out what you mean code example wise about using the resvoir of availble processing power instead of focusing on the trickle of incomming processor power. Is there any way I can get a code example? Also in regards to the code optimization you talk about different distinct cases were you changed how algorithms work however I'm not familiar with the terminology what did those algorithms look like and what were they changed to? Can I see an example of that?
Logged
Neo
Administrator
Adventurer
*****
Posts: 26



View Profile WWW
« Reply #13 on: August 24, 2010, 01:09:04 PM »

Is there any way I can get a code example?
Aye.  I really need to get on this.  I've got 6 out of 7 experiments for the first "chapter" of videos working.  Once I get the 7th experiment locked-in, I'll probably record about 7 videos in a few days and release them over a few weeks, hopefully leaving enough time to prepare for the next "chapter".

Quote
Also in regards to the code optimization you talk about different distinct cases were you changed how algorithms work however I'm not familiar with the terminology what did those algorithms look like and what were they changed to? Can I see an example of that?
Maybe I should use part of the Code Cortex screensaver as the 7th experiment, since it's got good examples of a bunch of the concepts I'll be covering in the earlier videos, and in unoptimized form it's a terrible screensaver.  Grin
« Last Edit: August 24, 2010, 01:13:09 PM by Neo » Logged

Become one with the code.
zylick
Apprentice
*
Posts: 8


View Profile
« Reply #14 on: September 03, 2010, 05:45:57 PM »

That sounds interesting. I await the information!
Logged
Pages: [1]
Print
Jump to: