Subject: [ruby-ffi] Re: Null Pointer Issue? Am I Racing with the Garbage Collector? |
From: Scott Gonyea |
Date: 11/12/10 1:09 AM |
To: ruby-ffi |
Interesting. I used JRuby (1.5.3) and the ffi gem (0.6.3 / rubygems.org). Works just peachy. I ran it at 50 and then 100 iterations. Everything seems to get along. sgonyea@skg:~/Sites/gsolr$ ruby bench.rb http://toddler.tomkittens.com:8080/solr "hi" Rehearsal ------------------------------------ GSolr 4.626000 0.000000 4.626000 ( 4.626000) RSolr 9.435000 0.000000 9.435000 ( 9.436000) -------------------------- total: 14.061000sec user system total real GSolr 3.523000 0.000000 3.523000 ( 3.523000) RSolr 8.903000 0.000000 8.903000 ( 8.903000) sgonyea@skg:~/Sites/gsolr$ ruby bench.rb http://toddler.tomkittens.com:8080/solr "hi" Rehearsal ------------------------------------ GSolr 8.134000 0.000000 8.134000 ( 8.134000) RSolr 18.710000 0.000000 18.710000 ( 18.710000) -------------------------- total: 26.844000sec user system total real GSolr 6.805000 0.000000 6.805000 ( 6.805000) RSolr 17.557000 0.000000 17.557000 ( 17.557000) Scott On Nov 11, 11:01 pm, Scott Gonyea <gon...@gmail.com> wrote:
https://gist.github.com/673816 I'm checking the values, all along the way, and I'm not handing it any nils, but it won't believe me. The ffi 0.6.3 gem won't complain about this (but it will blow up at a few spots). Sigh :( Thank you very much, for your help. Scott On Nov 11, 10:21 pm, Wayne Meissner <wmeiss...@gmail.com> wrote:Strange. I replied in my e-mail, but it didn't post. Hoping it wasn't plugged up in Google somewhere. Here's what I wrote: I'm pretty sure it does. I ran into another issue, while using the FFI from Github:Thats interesting.
Does curl use threads internally? If so, build the ffi gem from github and try that. Earlier versions don't deal well with callbacks coming from non-ruby threads.
Also try running it with JRuby. It handles threads a lot better.
<gon...@gmail.com> wrote:On 12 November 2010 15:25, Scott Gonyea
https://gist.github.com/673753
That will show you the script I'm running, the gdb backtrace, and ruby- prof (if that helps at all). I basically was benchmarking my library with the one I started branching from. It's all good, until I start running a whole lot of iterations. I made some changes, which seems to have made it less frequent... until I up the number of iterations.
https://github.com/aitrus/curl_ffi/commit/99a231aea24b2d7d63bccaa5c23...
That was the one fix. This GSolr junk of mine uses StreamlyFFI and CurlFFI:
https://github.com/aitrus/streamly_ffi CurlFFI:https://github.com/aitrus/curl_ffiStreamlyFFI:
Scott