<?xml version="1.0" encoding="UTF-8"?>
	<rss version="2.0"
		xmlns:content="http://purl.org/rss/1.0/modules/content/"
		xmlns:wfw="http://wellformedweb.org/CommentAPI/"
		xmlns:dc="http://purl.org/dc/elements/1.1/"
		xmlns:atom="http://www.w3.org/2005/Atom"

			>

	<channel>
		<title>Cycling 74  &#187;  Topic: Performance differences between Windows &amp; Mac OS Jit/Java</title>
		<atom:link href="http://cycling74.com/forums/topic/performance-differences-between-windows-mac-os-jitjava/feed" rel="self" type="application/rss+xml" />
		<link>http://cycling74.com/forums/topic/performance-differences-between-windows-mac-os-jitjava/feed</link>
		<description></description>
		<pubDate>Wed, 19 Jun 2013 02:19:49 +0000</pubDate>
		<generator>http://bbpress.org/?v=2.2.4</generator>
		<language></language>

		
														
					
				<item>
					<guid>http://cycling74.com/forums/topic/performance-differences-between-windows-mac-os-jitjava/#post-35483</guid>
					<title><![CDATA[Performance differences between Windows &amp; Mac OS Jit/Java]]></title>
					<link>http://cycling74.com/forums/topic/performance-differences-between-windows-mac-os-jitjava/#post-35483</link>
					<pubDate>Tue, 22 Jan 2008 13:55:38 +0000</pubDate>
					<dc:creator>Peter Castine</dc:creator>

					<description>
						<![CDATA[
						<p>This is a follow-up of sorts to my previous query about TCP &#038; Java.</p>
<p>We (John Dekron and I) have a Jitter/Java based standalone which is supposed to run on a Mac Pro. The basic processing consist of jit.scissor-ing a 360&#215;50 matrix into 8 parts, each of which is then sent by TCP to a custom wall-sized display using a custom TCP-based protocol. The app runs well enough when we only send a single portion of the matrix, but the CPU demand is pretty high. By the time we use all 8 TCP connections, our standalone is using 100% of its processor&#8217;s capacity and we&#8217;re down to about 9fps.</p>
<p>The thing is, if we boot the same machine into XP via Boot Camp, the Windows version of our standalone can handle about 20fps and Task Manager says it&#8217;s using about 80% of CPU capacity (am I right in my understanding that Task Manager is talking total machine capacity, ie 40% of a single core?). </p>
<p>In any case, we&#8217;ve got identical hardware, identical Java code, identical Jitter patch. So where does the performance difference come from? Are the JVMs so different? The TCP/IP implementations? Something else? My experience in Max/Jitter is that the OS doesn&#8217;t make a big performance difference given identical hardware.</p>
<p>I&#8217;m attaching the .java &#038; .class files if someone would care to look (Ben?). I know that I&#8217;m instantiating an InputStream that I don&#8217;t really need (there was a lot of Copy&#038;Paste to get this working at all) but I don&#8217;t think that can be slowing things down. I&#8217;m wondering if there&#8217;s anything I can do in my jit_matrix() method to speed up copying the Jitter data into our TCP packet data structure. The other obvious bottleneck is DataOutputStream.write(), but what can one do to speed that up?</p>
<p>If a test patch would help I&#8217;ll cobble something together. The biggest problem in testing is that currently the only test hardware on the planet exists in a village outside Leipzig and is inside an intranet. Not an ideal testing environment? Tell me about it-(</p>
<p>Finally, before someone asks &#8220;Why not just use Windows?&#8221; the computer needs to run other processes as well as our standalone, and Mac OS is really what we need. </p>
<p>Thanks for suggestions.</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/performance-differences-between-windows-mac-os-jitjava/#post-121033</guid>
					<title><![CDATA[Re: Performance differences between Windows &#038; Mac OS Jit/Java]]></title>
					<link>http://cycling74.com/forums/topic/performance-differences-between-windows-mac-os-jitjava/#post-121033</link>
					<pubDate>Tue, 22 Jan 2008 16:48:14 +0000</pubDate>
					<dc:creator>Joshua Kit Clayton</dc:creator>

					<description>
						<![CDATA[
						<p>
On Jan 22, 2008, at 5:55 AM, Peter Castine wrote:</p>
<p>> Finally, before someone asks &#8220;Why not just use Windows?&#8221; the  <br />
> computer needs to run other processes as well as our standalone,  <br />
> and Mac OS is really what we need.</p>
<p>Perhaps you can use VMWare or Parallels? i.e. run Windows under OS X.</p>
<p>I don&#8217;t have time to investigate your patch/code, but the JVMs are  <br />
different. There may be some JVM settings which are by default used  <br />
on windows, but not OS X, or vice versa.</p>
<p>One other thing. Make sure you are not stalling in the main thread  <br />
while you don&#8217;t need to be. One example is to copy your matrix to  <br />
send, add it to a queue which is serviced by your networking thread  <br />
(I assume you&#8217;re using a separate thread for networking, which is  <br />
*essential*).</p>
<p>-Joshua</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/performance-differences-between-windows-mac-os-jitjava/#post-121034</guid>
					<title><![CDATA[Re: Performance differences between Windows &#038; Mac OS Jit/Java]]></title>
					<link>http://cycling74.com/forums/topic/performance-differences-between-windows-mac-os-jitjava/#post-121034</link>
					<pubDate>Tue, 22 Jan 2008 20:51:41 +0000</pubDate>
					<dc:creator>topher lafata</dc:creator>

					<description>
						<![CDATA[
						<p>Just to add.<br />
Historically the JVM implementation for windows has always been  <br />
higher performance than the OS X JVM so it is not so surprising.<br />
Like josh said though some sort of queing mechanism might be worth  <br />
investigating regardless.<br />
T</p>
<p>On Jan 22, 2008, at 08:48 AM, Joshua Kit Clayton wrote:</p>
<p>><br />
> On Jan 22, 2008, at 5:55 AM, Peter Castine wrote:<br />
><br />
>> Finally, before someone asks &#8220;Why not just use Windows?&#8221; the  <br />
>> computer needs to run other processes as well as our standalone,  <br />
>> and Mac OS is really what we need.<br />
><br />
> Perhaps you can use VMWare or Parallels? i.e. run Windows under OS X.<br />
><br />
> I don&#8217;t have time to investigate your patch/code, but the JVMs are  <br />
> different. There may be some JVM settings which are by default used  <br />
> on windows, but not OS X, or vice versa.<br />
><br />
> One other thing. Make sure you are not stalling in the main thread  <br />
> while you don&#8217;t need to be. One example is to copy your matrix to  <br />
> send, add it to a queue which is serviced by your networking thread  <br />
> (I assume you&#8217;re using a separate thread for networking, which is  <br />
> *essential*).<br />
><br />
> -Joshua</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/performance-differences-between-windows-mac-os-jitjava/#post-121035</guid>
					<title><![CDATA[Re: Performance differences between Windows &#038; Mac OS Jit/Java]]></title>
					<link>http://cycling74.com/forums/topic/performance-differences-between-windows-mac-os-jitjava/#post-121035</link>
					<pubDate>Wed, 23 Jan 2008 11:06:14 +0000</pubDate>
					<dc:creator>Peter Castine</dc:creator>

					<description>
						<![CDATA[
						<p>Thanks, guys, for the feedback.</p>
<p>Some examination last night turned up another bottleneck&#8230; I was using the very convenient JitterMatrix.getcell2dInt(), but the copyMatrixToArray() methods appear to be a lot more efficient. After thinking about it a bit I&#8217;m feeling a little stoopid for having chosen the cell-by-cell approach at all, but just based on the docs it&#8217;s not immediately obvious that the one approach would be more efficient than the other.</p>
<p>&#8211; P.</p>
						]]>
					</description>

					
					
				</item>

					
		
	</channel>
	</rss>

