Hi folks, This latest release of Ferret has a lot of improvements. There have been substantial improvements to performance. Try it for yourself to see. I won''t be publishing any numbers just yet. I will say though that it''s still about 2-4 times slower than Lucene with the extension installed. There is also some performance improvements in the pure Ruby version if you haven''t been able to install the C extension. As well as working on the performance, the locking system has had a few changes to prevent some of the problems it has been causing people. Now, if you cancel a process while it has a lock open, the lock should still be released. Also, you can set the index to auto flush; index = Index::Index.new(:auto_flush => true) This will make sure no locks are kept open after updating the index. You won''t need to call flush anymore. This is very useful if you have multiple processes modifying the index as you might have in a Rails application. Also, it should now compile with the MSVC compiler on windows thanks to a patch from Anatol Pomozov. You can download it from here; http://ferret.davebalmain.com/trac/attachment/wiki/Windows/ferret_ext.so?format=raw And place it in the lib directory of your Ferret distribution. Cheers, Dave Changes: * Added lock finalizer. * Added :auto_flush option to Index::Index * Many speed optimizations * Fixed extension to compile on Windows.
On 12/2/05, David Balmain <dbalmain.ml at gmail.com> wrote:> > As well as working on the performance, the locking system has had a > few changes to prevent some of the problems it has been causing > people. Now, if you cancel a process while it has a lock open, the > lock should still be released. Also, you can set the index to auto > flush; > > index = Index::Index.new(:auto_flush => true) > > This will make sure no locks are kept open after updating the index. > You won''t need to call flush anymore. This is very useful if you have > multiple processes modifying the index as you might have in a Rails > application.Thanks, David. These feataures will be very useful. -F
One thing I forgot to mention. I''m currently investigating ceasing support for the pure ruby version of Ferret. This will enable me (I think) to build a much faster version of Ferret in the long term. If anyone has any strong opinions on this topic, please let me know. Cheers, Dave
On 12/2/05, David Balmain <dbalmain.ml at gmail.com> wrote:> One thing I forgot to mention. I''m currently investigating ceasing > support for the pure ruby version of Ferret. This will enable me (I > think) to build a much faster version of Ferret in the long term. If > anyone has any strong opinions on this topic, please let me know. >I think that would probably be a good idea, allowing you to stay more focused and worry less about feature compatibility. However, I think it would be important to ensure that binary gems for win32 get released at the same pace as the standard (POSIX) gems. See how the sqlite gem handles it => http://rubyforge.org/cgi-bin/viewcvs.cgi/sqlite3-ruby/?cvsroot=sqlite-ruby If you don''t have easy access to a pure win32 build environment (visual studio) maybe you''d consider inviting someone else who does as an additional committer? Cheers, Aslak> Cheers, > Dave > > _______________________________________________ > Ferret-talk mailing list > Ferret-talk at rubyforge.org > http://rubyforge.org/mailman/listinfo/ferret-talk >
I''m a little confused by this. The lib directory of Ferret won''t exist until you have already installed it, and by that time the compiling attempt has already taken place. On 12/2/05, David Balmain <dbalmain.ml at gmail.com> wrote:> Also, it should now compile with the MSVC compiler on windows thanks > to a patch from Anatol Pomozov. You can download it from here; > > http://ferret.davebalmain.com/trac/attachment/wiki/Windows/ferret_ext.so?format=raw > > And place it in the lib directory of your Ferret distribution.
Would it be possible to add this .so to the gem so that those who have MSVC installed on their machine can compile? On 12/2/05, David Balmain <dbalmain.ml at gmail.com> wrote:> Also, it should now compile with the MSVC compiler on windows thanks > to a patch from Anatol Pomozov. You can download it from here; > > http://ferret.davebalmain.com/trac/attachment/wiki/Windows/ferret_ext.so?format=raw > > And place it in the lib directory of your Ferret distribution.
If you try install Ferret on Win and if you dont have MS compiler && nmake then native extension compilation will fail. But Ferret will be installed anyway and work as pure Ruby version. If you want that Fetter use native extension that much faster than pure Ruby you need to download file from wiki and put it to "lib" dir where Ferret installed. For me this dir is "C:\Program Files\ruby\lib\ruby\gems\1.8\gems\ferret-0.3.0\lib" On 12/2/05, Carl Youngblood <carl at youngbloods.org> wrote:> > I''m a little confused by this. The lib directory of Ferret won''t > exist until you have already installed it, and by that time the > compiling attempt has already taken place. > > On 12/2/05, David Balmain <dbalmain.ml at gmail.com> wrote: > > Also, it should now compile with the MSVC compiler on windows thanks > > to a patch from Anatol Pomozov. You can download it from here; > > > > > http://ferret.davebalmain.com/trac/attachment/wiki/Windows/ferret_ext.so?format=raw > > > > And place it in the lib directory of your Ferret distribution. > > _______________________________________________ > Ferret-talk mailing list > Ferret-talk at rubyforge.org > http://rubyforge.org/mailman/listinfo/ferret-talk >-- anatol (http://pomozov.info) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ferret-talk/attachments/20051202/252069e9/attachment.htm
Okay, so you''re saying that the .so file you submitted has already been compiled and if I simply copy it to the lib directory, then ferret will use the native extensions? That makes more sense. THanks, Carl On 12/2/05, Anatol Pomozov <anatol.pomozov at gmail.com> wrote:> If you try install Ferret on Win and if you dont have MS compiler && nmake > then native extension compilation will fail. > But Ferret will be installed anyway and work as pure Ruby version. > > If you want that Fetter use native extension that much faster than pure Ruby > you need to download file from wiki and put it to "lib" dir where Ferret > installed. For me this dir is "C:\Program > Files\ruby\lib\ruby\gems\1.8\gems\ferret- 0.3.0\lib" > > > On 12/2/05, Carl Youngblood <carl at youngbloods.org> wrote: > > > > I''m a little confused by this. The lib directory of Ferret won''t > > exist until you have already installed it, and by that time the > > compiling attempt has already taken place. > > > > On 12/2/05, David Balmain < dbalmain.ml at gmail.com> wrote: > > > Also, it should now compile with the MSVC compiler on windows thanks > > > to a patch from Anatol Pomozov. You can download it from here; > > > > > > > http://ferret.davebalmain.com/trac/attachment/wiki/Windows/ferret_ext.so?format=raw > > > > > > And place it in the lib directory of your Ferret distribution. > > > > _______________________________________________ > > Ferret-talk mailing list > > Ferret-talk at rubyforge.org > > http://rubyforge.org/mailman/listinfo/ferret-talk > > > > > > -- > anatol (http://pomozov.info) > _______________________________________________ > Ferret-talk mailing list > Ferret-talk at rubyforge.org > http://rubyforge.org/mailman/listinfo/ferret-talk > > >
I think it is good idea to have win32 version of gem for Ferret. I could take a look at it and create *-win32 gemspec On 12/2/05, aslak hellesoy <aslak.hellesoy at gmail.com> wrote:> > On 12/2/05, David Balmain <dbalmain.ml at gmail.com> wrote: > > One thing I forgot to mention. I''m currently investigating ceasing > > support for the pure ruby version of Ferret. This will enable me (I > > think) to build a much faster version of Ferret in the long term. If > > anyone has any strong opinions on this topic, please let me know. > > > > I think that would probably be a good idea, allowing you to stay more > focused and worry less about feature compatibility. However, I think > it would be important to ensure that binary gems for win32 get > released at the same pace as the standard (POSIX) gems. See how the > sqlite gem handles it => > http://rubyforge.org/cgi-bin/viewcvs.cgi/sqlite3-ruby/?cvsroot=sqlite-ruby > > If you don''t have easy access to a pure win32 build environment > (visual studio) maybe you''d consider inviting someone else who does as > an additional committer? > > Cheers, > Aslak > > > Cheers, > > Dave > > > > _______________________________________________ > > Ferret-talk mailing list > > Ferret-talk at rubyforge.org > > http://rubyforge.org/mailman/listinfo/ferret-talk > > > > _______________________________________________ > Ferret-talk mailing list > Ferret-talk at rubyforge.org > http://rubyforge.org/mailman/listinfo/ferret-talk >-- anatol (http://pomozov.info) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ferret-talk/attachments/20051202/28e96ac5/attachment.htm