People,
I have asked before about Ruby to C conversion programs and other alternatives with no really satisfactory solution for my particular situation. I decided to test out a conversion of one of the C programs and see what sort of results I get. This particular small C program is called 32,000 times from loops within a shell script. The program then processes a text file, writes a text file and exits. The same shell script with a Ruby program replacing the C program does exactly the same thing but takes 8.5 times as long (27m/227m).
The profile on ONE execution of the Ruby program produced:
% cumulative self self total
time seconds seconds calls ms/call ms/call name
65.18 14.15 14.15 1 14150.00 21700.00 Array#each
12.44 16.85 2.70 93792 0.03 0.03 Array#[]
8.15 18.62 1.77 62108 0.03 0.03 String#split
6.73 20.08 1.46 53215 0.03 0.03 String#==
2.58 20.64 0.56 66 8.48 12.73 Range#each
It would be SO much nicer to rewrite some stuff that needs rewriting and write ALL new stuff in Ruby but this looks impossible with these times . .
Any suggestions for performance improvements?
I am using F9.
Thanks,
Phil.
···
--
Philip Rhoades
Pricom Pty Limited (ACN 003 252 275 ABN 91 003 252 275)
GPO Box 3411
Sydney NSW 2001
Australia
E-mail: phil@pricom.com.au