You're welcome Alan :) Hmm, I wonder if this big impact is because of skipping evaling everytime, which iirc is the only thing that evaluateString does, or something else is happening... Have you also tried doing [rubyClass new] instead of alloc init? I thought they should do the same.
On 17 jan. 2011, at 15:57, Alan Skipp <al_sk...@fastmail.fm> wrote: > Brilliant suggestion Eloy, much appreciated. > There's a noticeable improvement in speed using this technique. In the method > which added ruby objects to an array, 77% of the time was spent on > initialising the objects, that's now down to 35%. > > Alan > > On 17 Jan 2011, at 13:32, Eloy Durán wrote: > >> After the Ruby code that defines the class has been evaled, you should be >> able to do the following: >> >> Class rubyClass = NSClassFromString(@"RubyClass"); >> id rubyObject = [[rubyClass alloc] init]; >> >> On Jan 17, 2011, at 2:05 PM, Alan Skipp wrote: >> >>> Hi, >>> Is there any way to inform an Objective-C class of the existence of a ruby >>> class so that instances can be created in Objective-C code? >>> Currently I am doing the following: >>> >>> [[MacRuby sharedRuntime] evaluateString:[NSString >>> stringWithFormat:@"RubyClass.new('%@')", arg]]; >>> >>> If I'm adding quite a few objects (300+) to an array in a loop, this line >>> of code is quite slow. My assumption (which may be false) is that either of >>> the 3 options below would be quicker. >>> >>> [RubyClass performSelector:@selector(new:) withObject:arg]; >>> [RubyClass new:arg]; >>> [[RubyClass alloc] initWithArg:arg]; >>> >>> Are any of those options (or an equivalent) a possibility? >>> >>> Alan >>> _______________________________________________ >>> MacRuby-devel mailing list >>> MacRuby-devel@lists.macosforge.org >>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel >> >> _______________________________________________ >> MacRuby-devel mailing list >> MacRuby-devel@lists.macosforge.org >> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel > > _______________________________________________ > MacRuby-devel mailing list > MacRuby-devel@lists.macosforge.org > http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel _______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel