This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 124444 - NetBeans re-indexing gems etc upon start takes forever
Summary: NetBeans re-indexing gems etc upon start takes forever
Status: RESOLVED FIXED
Alias: None
Product: editor
Classification: Unclassified
Component: CSL (API & infrastructure) (show other bugs)
Version: 6.x
Hardware: All Windows XP
: P3 blocker (vote)
Assignee: Torbjorn Norbye
URL:
Keywords: PERFORMANCE
: 124454 (view as bug list)
Depends on:
Blocks:
 
Reported: 2007-12-25 22:28 UTC by joergbattermann
Modified: 2009-02-19 20:45 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description joergbattermann 2007-12-25 22:28:38 UTC
Hello there,

I've been using the nightly/current builds of the rubyide on my windows installation (mac pro, 4 core 3ghz xeons, 2gb
ram) with only few gems installed (see details below), but netbeans/the rubyide needs -forever- to (re-)index the ruby
libs/gems upon each startup of netbeans and practically makes everything unusable for.. geez.. an hour or more. Can't
remember that happened before. I am using the native ruby (not jruby) with the following settings, gems etc:

D:\ruby\bin>ruby -v
ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]

D:\ruby\bin>gem --version
0.9.4


D:\ruby\bin>gem list --local

*** LOCAL GEMS ***

actionmailer (2.0.1)
    Service layer for easy email delivery and testing.

actionpack (2.0.1)
    Web-flow and rendering framework putting the VC in MVC.

activerecord (2.0.1)
    Implements the ActiveRecord pattern for ORM.

activeresource (2.0.1)
    Think Active Record for web resources.

activesupport (2.0.1)
    Support and utility classes used by the Rails framework.

capistrano (2.1.0)
    Capistrano is a utility and framework for executing commands in
    parallel on multiple remote machines, via SSH.

cgi_multipart_eof_fix (2.5.0)
    Fix an exploitable bug in CGI multipart parsing.

cheat (1.2.1)
    Cheat is a simple command line utility reference program.

ferret (0.11.5)
    Ruby indexing library.

fxri (0.3.6)
    Graphical interface to the RI documentation, with search engine.

fxruby (1.6.12)
    FXRuby is the Ruby binding to the FOX GUI toolkit.

gem_plugin (0.2.3)
    A plugin system based on rubygems that uses dependencies only

graticule (0.2.6)
    API for using all the popular geocoding services.

highline (1.4.0)
    HighLine is a high-level command-line IO library.

hoe (1.3.0)
    Hoe is a way to write Rakefiles much easier and cleaner.

hpricot (0.6)
    a swift, liberal HTML parser with a fantastic library

log4r (1.0.5)
    Log4r is a comprehensive and flexible logging library for Ruby.

mongrel (1.1.2)
    A small fast HTTP library and server that runs Rails, Camping, Nitro
    and Iowa apps.

mysql (2.7.3)
    A win32-native build of the MySQL API module for Ruby.

needle (1.3.0)
    Needle is a Dependency Injection/Inversion of Control container for
    Ruby. It supports both type-2 (setter) and type-3 (constructor)
    injection. It takes advantage of the dynamic nature of Ruby to
    provide a rich and flexible approach to injecting dependencies.

net-sftp (1.1.0)
    Net::SFTP is a pure-Ruby implementation of the SFTP client protocol.

net-ssh (1.1.2)
    Net::SSH is a pure-Ruby implementation of the SSH2 client protocol.

rails (2.0.1)
    Web-application framework with template engine, control-flow layer,
    and ORM.

rake (0.7.3)
    Ruby based make-like utility.

rcov (0.8.1.2.0)
    Code coverage analysis tool for Ruby

rspec (1.1.1)
    RSpec-1.1.1 (build 20071217181808) - BDD for Ruby
    http://rspec.rubyforge.org/

ruby-debug-base (0.9.3)
    Fast Ruby debugger

ruby-debug-ide (0.1.9)
    IDE interface for ruby-debug.

rubyforge (0.4.4)
    A script which automates a limited set of rubyforge operations.

sources (0.0.1)
    This package provides download sources for remote gem installation

tzinfo (0.3.5)
    Daylight-savings aware timezone library

win32-api (1.0.4)
    A superior replacement for Win32API

win32-clipboard (0.4.3)
    A package for interacting with the Windows clipboard

win32-dir (0.3.2)
    Extra constants and methods for the Dir class on Windows.

win32-eventlog (0.4.6)
    Interface for the MS Windows Event Log.

win32-file (0.5.4)
    Extra or redefined methods for the File class on Windows.

win32-file-stat (1.2.7)
    A File::Stat class tailored to MS Windows

win32-process (0.5.3)
    Adds fork, wait, wait2, waitpid, waitpid2 and a special kill method

win32-sapi (0.1.4)
    An interface to the MS SAPI (Sound API) library.

win32-sound (0.4.1)
    A library for playing with sound on MS Windows.

windows-api (0.2.0)
    An easier way to create methods using Win32API

windows-pr (0.7.2)
    Windows functions and constants bundled via Win32::API

ZenTest (3.6.1)
    ZenTest provides 4 different tools and 1 library: zentest,
    unit_diff, autotest, multiruby, and Test::Rails.
Comment 1 Torbjorn Norbye 2007-12-26 17:57:38 UTC
Hi Joerg,
I recently rev'ed the schema version for the index database, so a single re-index needed to be performed. BUT, (a) it
sounds like it's not using the pre-indexed databases for most of your gems, and more importantly, it's happening not
just once but every time?

Would you mind trying to start NetBeans with a different userdir, and see if it happens more than once?
netbeans --userdir C:\temp\test

Comment 2 joergbattermann 2007-12-26 19:19:50 UTC
Hey Tor,

well it seems this behaviour only appears, if you (or me) kept the old settings / cache files. I cleaned out all
occurences of netbeans/nbrubyide from my application settings-directory etc etc, setup native ruby platform in netbeans
again, let it re-index, close netbeans & re-open.. and now everything works fine.

Copying back my 'old' settings back again provocted the report behavior (constantly re-indexing everything)...


So basically there seems to be no smooth transition between old/excisting caches & indexes and the current one....

-J :)
Comment 3 Petr Jiricka 2008-01-11 14:54:28 UTC
*** Issue 124454 has been marked as a duplicate of this issue. ***
Comment 4 Torbjorn Norbye 2008-04-03 16:51:42 UTC
In 6.1, indexing should happen only once - the first time you open each project. On subsequent starts only files that
have changed outside of the IDE will be reindexed, which typically is 0 or at most a few.
Comment 5 Martin Krauskopf 2009-02-02 14:36:58 UTC
'ruby/gsf -> editor/csl' mass-move to be able to deleted gsf/ruby. Having to
change the version and platform of all closed moved issues to the same due to
Issuezilla deficiencies - choosing version == 6.5 and TM = 7.0.