[MacRuby-devel] A QtRuby Version of The GC2 Client has Been Created

J Silver jsilverman2 at gmail.com
Fri Nov 23 09:40:09 PST 2012

Thanks Josh !

I can see how this would be a problem with GVL. I was able to get it 
acceptable by limiting log size to 20 messages instead of sending entire 
log mandatorily. Small change allowed the server not to choke the client 
as much. Only reason I read every 1 byte is to try to allow n-sized 
multi-line messages. Not sure how I would add message sizes to the 
protocol, though it could be in like a LENGTH message, then sending the 
longer one and using #read to get the size of the buffer. I think that 
you're right in saying that can speed it up to 100% of the MacRuby and 
RubyMotion speed ( fast ).

On 23/11/2012 05:11, Joshua Ballanco wrote:
> On this line:
> https://github.com/jsilverMDX/GlobalChat2/blob/master/gc2-qtruby/global_chat_controller.rb#L90
> you're reading in a byte at a time. That, combined with the GVL, can 
> seriously slow things down. You can either increase the number of 
> bytes you're reading each loop or, ideally, use TCPSocket#read with a 
> buffer. It's a bit more work to get right, but it should resolve your 
> performance issues.
> Cheers,
> Josh
> On Thursday, November 22, 2012 at 11:23 PM, J Silver wrote:
>> http://cl.ly/image/2w0P1X3H1v3T
>> http://cl.ly/image/3Q3j260q1s1F
>> Want to report success using QtRuby library with the qtbindings gem.
>> Internally, Able to use Signals and Slots through the advanced
>> techniques described around the web.
>> Now have a working version of the chat available in the GlobalChat2
>> repository.
>> https://github.com/jsilverMDX/GlobalChat2/tree/master/gc2-qtruby
>> It runs on 1.8.7 and 1.9.3. It lacks many of the features of the
>> advanced MacRuby client coming soon to App Store.
>> It uses QtDesigner for the GUI files with the UI loader and should run
>> natively on Mac, Windows and Linux.
>> However, one thing. The MacRuby client is DAYS faster getting a big log
>> back from the server than QtRuby, and the signal is obviously not to
>> blame. This happens on both 1.9 and 1.8.7. Any ideas?
>> jsilver
>> _______________________________________________
>> MacRuby-devel mailing list
>> MacRuby-devel at lists.macosforge.org 
>> <mailto:MacRuby-devel at lists.macosforge.org>
>> http://lists.macosforge.org/mailman/listinfo/macruby-devel
> _______________________________________________
> MacRuby-devel mailing list
> MacRuby-devel at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo/macruby-devel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-devel/attachments/20121123/f9c3f966/attachment.html>

More information about the MacRuby-devel mailing list