I mentioned over a week ago that rake rspec wasn't working for me. After looking around for a bit today, I found a solution.
Something in the RSpec chain (maybe RSpec itself) requires version 1.2.3 of the test-unit gem. However, gem install test-unit will install version 2.0.3 by default. You can have both versions of the gem installed. However, having both versions causes the rake task to not work properly. Removing the 2.0.3 version of the gem corrects the issue and the rake task will work normally.
I have been experimenting with a Ruby on Rails project recently. Part of the project requires importing large (almost 150 MB, almost one million lines) text files of a given format into a normalized database. I have been working with this part of the project first because I want to find out how much space each log file will take up in the database.
Here's some of my notes and observations:
save on the object for that line. Unfortunately, this script took six hours to run using script/runner. Unfortunately, I really need this process to take around one minute rather than six hours.
ActiveRecord::Extensions (found via this post on the Accelerate HR blog) provides a method to import a large number of records at once. When configuring it to write 1,000 records at a time to the database, the SQLite version took about four and a half hours. Using "chunk" sizes of 10,000 took over nine hours before I stopped it manually because that caused the script to start swapping to disk. (Servers with only 512 MB of memory are no longer as useful as they used to be.)
Switching to MySQL and using greater normalization results in faster run time with a chunk size of 1,000. However, even then, the import script takes about three hours to run.
class Model include Mixin1 include Mixin2 end
These issues do not manifest under the version of Ruby Enterprise Edition installed so this suggests that the RPM ruby is broken.