<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://forums.xna.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>General</title><link>http://forums.xna.com/forums/32.aspx</link><description>Don't know where to post your question? Post it here!</description><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 0.0)</generator><item><title>Re: How fast is it?</title><link>http://forums.xna.com/forums/thread/41914.aspx</link><pubDate>Wed, 16 Jan 2008 16:19:16 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:41914</guid><dc:creator>Jim Perry</dc:creator><slash:comments>0</slash:comments><comments>http://forums.xna.com/forums/thread/41914.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=32&amp;PostID=41914</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://forums.xna.com/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;David Hunt:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://forums.xna.com/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;Machaira:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt; 
&lt;P&gt;Oh, and I'm probably the old man around here at 41 (although I think Z-Man is catching up to me ;) ).&lt;/P&gt;
&lt;P&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/P&gt;
&lt;P&gt;Nope. 45 here.&lt;/P&gt;
&lt;P&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/P&gt;
&lt;P&gt;Yea!!!! &lt;/P&gt;
&lt;P&gt;&lt;span class="txtIrcMe"&gt;&amp;nbsp;*&amp;nbsp;Machaira feels better about himself&lt;/span&gt;&lt;/P&gt;</description></item><item><title>Re: How fast is it?</title><link>http://forums.xna.com/forums/thread/41910.aspx</link><pubDate>Wed, 16 Jan 2008 16:03:35 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:41910</guid><dc:creator>ShawMishrak</dc:creator><slash:comments>0</slash:comments><comments>http://forums.xna.com/forums/thread/41910.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=32&amp;PostID=41910</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://forums.xna.com/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;Kris:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;Shaw-&amp;nbsp; How well do those SSE instructions execute on the XBox 360?&lt;br&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;&lt;br&gt;On Xbox, you use Altivec/VMX.&amp;nbsp; But you can't do that without a dev kit.&amp;nbsp; It's the same deal, with C++ you can with C# you cannot.&lt;br&gt;</description></item><item><title>Re: How fast is it?</title><link>http://forums.xna.com/forums/thread/41876.aspx</link><pubDate>Wed, 16 Jan 2008 13:35:13 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:41876</guid><dc:creator>Scrogu</dc:creator><slash:comments>0</slash:comments><comments>http://forums.xna.com/forums/thread/41876.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=32&amp;PostID=41876</wfw:commentRss><description>Shaw-&amp;nbsp; How well do those SSE instructions execute on the XBox 360?&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;btw- No, I'm not really 14.&amp;nbsp; But I'm teaching my 9 year old Son how to program, and use Modo right now, so he should be where I'm at now by the time he's 14. :0&lt;br&gt;</description></item><item><title>Re: How fast is it?</title><link>http://forums.xna.com/forums/thread/41872.aspx</link><pubDate>Wed, 16 Jan 2008 13:26:49 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:41872</guid><dc:creator>Lord Ikon</dc:creator><slash:comments>0</slash:comments><comments>http://forums.xna.com/forums/thread/41872.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=32&amp;PostID=41872</wfw:commentRss><description>&lt;P&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://forums.xna.com/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;ArcaneDreams:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;BR&gt;You guys are smart. I can't wait till I can actually contribute to these converstations. :p&lt;BR&gt;&lt;BR&gt;How far along in the industry in years are you guys? Please don't tell me you are a bunch of 23 year olds. :(&lt;BR&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/P&gt;
&lt;P&gt;I'm 25, just got out of college, only been in the industry about half a year.&lt;/P&gt;</description></item><item><title>Re: How fast is it?</title><link>http://forums.xna.com/forums/thread/41856.aspx</link><pubDate>Wed, 16 Jan 2008 11:06:11 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:41856</guid><dc:creator>ShawMishrak</dc:creator><slash:comments>0</slash:comments><comments>http://forums.xna.com/forums/thread/41856.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=32&amp;PostID=41856</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://forums.xna.com/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;ArcaneDreams:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;How far along in the industry in years are you guys? Please don't tell me you are a bunch of 23 year olds. :(&lt;br&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;&lt;br&gt;I'm 22.&lt;br&gt;&lt;br&gt;I'm not "in" the games industry.&amp;nbsp; I'm a student, and game programming is just a hobby.&amp;nbsp; At least for right now.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Re: How fast is it?</title><link>http://forums.xna.com/forums/thread/41855.aspx</link><pubDate>Wed, 16 Jan 2008 11:04:14 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:41855</guid><dc:creator>ShawMishrak</dc:creator><slash:comments>0</slash:comments><comments>http://forums.xna.com/forums/thread/41855.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=32&amp;PostID=41855</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://forums.xna.com/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;Kris:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;Anyways, all of this is pretty much MOOT, since all of the real pro coding is now done in HLSL anyways.&lt;br&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;&lt;br&gt;Only in the graphics domain.&lt;br&gt;</description></item><item><title>Re: How fast is it?</title><link>http://forums.xna.com/forums/thread/41853.aspx</link><pubDate>Wed, 16 Jan 2008 11:02:26 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:41853</guid><dc:creator>ShawMishrak</dc:creator><slash:comments>0</slash:comments><comments>http://forums.xna.com/forums/thread/41853.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=32&amp;PostID=41853</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://forums.xna.com/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;Kris:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;It's not really fair to compare "hand optimized SSE" code to C#
performance on matrix multiplication.&amp;nbsp; "hand optimized SSE" is realy
processor specific assembly language, and has NOTHING to do with the
language of C++.&amp;nbsp; None of the SSE operations are defined in the C++
standards.&amp;nbsp; It just so happens that C++ has a better ability to call
assembly instructions.&amp;nbsp; (Managed C++ can do the same thing btw.)&lt;br&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;&lt;br&gt;How is it not fair to make this comparison?&amp;nbsp; I'm showing something you can do in C++ that you cannot do in C#.&amp;nbsp; Using SSE intrinsics is processor-specific, yes, but that doesn't matter.&amp;nbsp; The point is this is something C++ can do that C# cannot do.&lt;br&gt;&lt;br&gt;I think you missed the point that I was trying to make.&amp;nbsp; I said I wasn't comparing C++ to C# in terms of overall "power."&amp;nbsp; I was stating an example of a case where the low-level power of C++ can be helpful.&amp;nbsp; C++ allows you to drop down into assembly (which is a part of the language), and C# does not.&amp;nbsp; Does this make C++ a better language for everyone and everything?&amp;nbsp; No.&amp;nbsp; It's just an example.&amp;nbsp; If you don't need that power, then don't use it.&lt;br&gt;&lt;br&gt;Processor functionality like SIMD instructions are not a part of &lt;i&gt;any&lt;/i&gt; language.&amp;nbsp; They are just instructions used by compilers/programmers to generate faster code.&amp;nbsp; They're no more or less processor-specific then &lt;i&gt;mov, push, &lt;/i&gt;or &lt;i&gt;pop&lt;/i&gt;.&lt;br&gt;&lt;br&gt;If you want to be technical about it, I didn't even use real inline assembly.&amp;nbsp; I used compiler intrinsics, which are definitely a part of the C++ language.&amp;nbsp; The compiler just so happens to treat these "function calls" as directives to emit specific instructions.&lt;br&gt;&lt;br&gt;Yes, Managed C++ can do the same thing, at a cost.&amp;nbsp; In fact, I showed just that with the P/Invoke measurement.&amp;nbsp; That was C# code calling into a Managed C++ multiplier using intrinsics (and special data types to get the proper memory alignment).&amp;nbsp; The result?&amp;nbsp; 341 ms, slower than just letting the .NET CLR do it naively (yes, I meant naive, not native) due to the P/Invoke costs.&lt;br&gt;&lt;br&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://forums.xna.com/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;Kris:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;Do
this:&amp;nbsp; Implement your own matrix multiplication code in C#, and then
implement it again in C++ using pointers or whatever, but NO assembly
instructions or SSE extensions, and see what the performance difference
is.&lt;br&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;&lt;br&gt;That's almost exactly what I did!&amp;nbsp; The only difference is that I used XNA's Matrix.Multiply routine instead of my own, which is a pretty standard 4x4 multiplier.&amp;nbsp; The exact same code (as shown by Reflector, ignoring slight syntax differences) was used between the C# and compiler-optimized C++ versions.&amp;nbsp; The best I could get out of the .NET run-time was 557 ms, while the Visual C++ 2008 compiler was able to do the same in 300 ms, with the compiler/linker configured to maximize speed optimizations.&amp;nbsp; Exact same code.&lt;br&gt;&lt;br&gt;But that's just differences in compilers.&amp;nbsp; The whole point was that C++ allows you to go further and hand-optimize the code with assembly/intrinsics for your target platform.&amp;nbsp; The result?&amp;nbsp; 138 ms.&lt;br&gt;&lt;br&gt;These measurements were taken on a Core 2 Duo E6600.&amp;nbsp; All execution was done on the command-line outside of any IDE, and all binaries were built in release mode.&lt;br&gt;&lt;br&gt;&lt;b&gt;Again, I am stressing the fact that this is not meant as "proof" of C++'s superiority!&amp;nbsp; It is merely an example of it's strengths over C# and managed languages in general.&amp;nbsp; There are also strengths of C# over C++.&amp;nbsp; It's important to keep your perspective on these issues.&lt;/b&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Re: How fast is it?</title><link>http://forums.xna.com/forums/thread/41849.aspx</link><pubDate>Wed, 16 Jan 2008 10:32:55 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:41849</guid><dc:creator>David Hunt</dc:creator><slash:comments>0</slash:comments><comments>http://forums.xna.com/forums/thread/41849.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=32&amp;PostID=41849</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://forums.xna.com/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;Machaira:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;
&lt;P&gt;Oh, and I'm probably the old man around here at 41 (although I think Z-Man is catching up to me ;) ).&lt;/P&gt;
&lt;P&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/P&gt;
&lt;P&gt;Nope. 45 here.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>Re: How fast is it?</title><link>http://forums.xna.com/forums/thread/41839.aspx</link><pubDate>Wed, 16 Jan 2008 09:07:33 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:41839</guid><dc:creator>Jim Perry</dc:creator><slash:comments>0</slash:comments><comments>http://forums.xna.com/forums/thread/41839.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=32&amp;PostID=41839</wfw:commentRss><description>&lt;P&gt;Heh, my 7 year old son is learning stuff in second grade that I don't remember learning until several years later. Of course, he's also been using a computer since kindergarten and I didn't start using one until high school (way back in the 80s). :( &lt;/P&gt;
&lt;P&gt;That's just the way the world's changed. I expect in another decade every newborn will be given a laptop. :D&lt;/P&gt;
&lt;P&gt;Oh, and I'm probably the old man around here at 41 (although I think Z-Man is catching up to me ;) ).&lt;/P&gt;</description></item><item><title>Re: How fast is it?</title><link>http://forums.xna.com/forums/thread/41800.aspx</link><pubDate>Wed, 16 Jan 2008 01:34:45 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:41800</guid><dc:creator>ArcaneDreams</dc:creator><slash:comments>0</slash:comments><comments>http://forums.xna.com/forums/thread/41800.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=32&amp;PostID=41800</wfw:commentRss><description>What kind of school do you go to where you learn all this stuff at 14? When I was 14 I was too distracted by the female population in my class to get much of anything done haha.&lt;br&gt;&lt;br&gt;I swear, my little brother is learning stuff in 5th grade that I was taught in 10th.&lt;br&gt;</description></item><item><title>Re: How fast is it?</title><link>http://forums.xna.com/forums/thread/41795.aspx</link><pubDate>Wed, 16 Jan 2008 01:08:21 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:41795</guid><dc:creator>Scrogu</dc:creator><slash:comments>0</slash:comments><comments>http://forums.xna.com/forums/thread/41795.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=32&amp;PostID=41795</wfw:commentRss><description>I don't know about the other guys, but I'm 14.&lt;br&gt;</description></item><item><title>Re: How fast is it?</title><link>http://forums.xna.com/forums/thread/41794.aspx</link><pubDate>Wed, 16 Jan 2008 01:06:43 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:41794</guid><dc:creator>ArcaneDreams</dc:creator><slash:comments>0</slash:comments><comments>http://forums.xna.com/forums/thread/41794.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=32&amp;PostID=41794</wfw:commentRss><description>&lt;br&gt;You guys are smart. I can't wait till I can actually contribute to these converstations. :p&lt;br&gt;&lt;br&gt;How far along in the industry in years are you guys? Please don't tell me you are a bunch of 23 year olds. :(&lt;br&gt;</description></item><item><title>Re: How fast is it?</title><link>http://forums.xna.com/forums/thread/41792.aspx</link><pubDate>Wed, 16 Jan 2008 00:27:47 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:41792</guid><dc:creator>Scrogu</dc:creator><slash:comments>0</slash:comments><comments>http://forums.xna.com/forums/thread/41792.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=32&amp;PostID=41792</wfw:commentRss><description>I've been doing "managed" code since the Java 1.02 Sdk, and C# since before it went public.&lt;br&gt;&lt;br&gt;There was a time back in the day, when they said that java MIGHT some day be only 5 times slower than c++.&lt;br&gt;&lt;br&gt;That old thinking all changed when Microsoft released the IE4 Virtual Machine.&amp;nbsp; That vm revolutionized what was possible with managed code.&amp;nbsp; It included the first real JIT, and it made it possible to perform low level primitive functions at essentially the same speed as C/C++.&amp;nbsp; After that point, Java would remain slower, not so much because of fundamental limitations, of which the lack of primitives was one of the real ones, but mainly because of poor api design.&lt;br&gt;&lt;br&gt;Back in that time-frame, I had "challenges" with several C++ developers to write the fastest application that would reverse words in a file.&amp;nbsp; My app in java was significantly faster (because my algorithm was better.)&amp;nbsp; Once they implemented the same algorithm, the C++ app was then only 10% faster (due to less IO overhead).&amp;nbsp; Maximum raw speed doesn't really matter UNTIL you reach the optimal algorithm.&lt;br&gt;&lt;br&gt;As of today, with C# you have the ability to perform low level primitive operations on floats/ints/arrays etc that are basically just as fast as doing the same thing in C or C++.&lt;br&gt;&lt;br&gt;It's not really fair to compare "hand optimized SSE" code to C# performance on matrix multiplication.&amp;nbsp; "hand optimized SSE" is realy processor specific assembly language, and has NOTHING to do with the language of C++.&amp;nbsp; None of the SSE operations are defined in the C++ standards.&amp;nbsp; It just so happens that C++ has a better ability to call assembly instructions.&amp;nbsp; (Managed C++ can do the same thing btw.)&lt;br&gt;&lt;br&gt;Do this:&amp;nbsp; Implement your own matrix multiplication code in C#, and then implement it again in C++ using pointers or whatever, but NO assembly instructions or SSE extensions, and see what the performance difference is.&lt;br&gt;&lt;br&gt;&lt;br&gt;Anyways, all of this is pretty much MOOT, since all of the real pro coding is now done in HLSL anyways.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Re: How fast is it?</title><link>http://forums.xna.com/forums/thread/41790.aspx</link><pubDate>Wed, 16 Jan 2008 00:02:19 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:41790</guid><dc:creator>ShawMishrak</dc:creator><slash:comments>0</slash:comments><comments>http://forums.xna.com/forums/thread/41790.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=32&amp;PostID=41790</wfw:commentRss><description>True, though that applies to C++ and C#.&amp;nbsp; Neither are optimized when compiled (either directly or with the CLR) with debug settings.&lt;br&gt;</description></item><item><title>Re: How fast is it?</title><link>http://forums.xna.com/forums/thread/41789.aspx</link><pubDate>Tue, 15 Jan 2008 23:56:12 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:41789</guid><dc:creator>virtue3</dc:creator><slash:comments>0</slash:comments><comments>http://forums.xna.com/forums/thread/41789.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=32&amp;PostID=41789</wfw:commentRss><description>There is also a HUGE HUUUUUGE speed penalty for compiling in debug mode, as the JIT compiler will take over and drastically slow performance, so it's important to run in release mode!&amp;nbsp; (I had an octree color-palettizer that took up to 3 minutes in debug mode and less than a second inrelease mode... due to recursion!)&lt;br&gt;</description></item></channel></rss>