I was just troubleshooting what seems to be poor read performance that's happening even with very high speed/hi performance disk arrays. I just posted this in a thread on freerainbowtables.com:
So after looking at the code, my guess is that we have a bottleneck in the RTI2Reader code. I'm looking at the cuda beta2 source that's at https://www.freerainbowtables.com/phpBB3/viewtopic.php?f=5&t=3022
I see that someone put in code to read the entire file in at once at some point, but it's currently commented out:
* reads everything at once...doesn't work for memory constrained env
Right now, in the readchains function at line 556, we have:
if ( !fin.read( (char*) (str), chainSizeBytes ).good() )
within a loop. I'm not sure how many times this is called per rti2 file, but it seems to be the likely culprit of performance issues. Many small reads to a file will KILL performance. I'm going to try and re-compile with the "read all at once" code put back in, though it seems like there's a bunch of changes that will need to be made to get it to work.
Would be nice for rcracki to have a command line switch to allow reading the entire file at once - memory is cheap these days and I'm sure a lot of us would benefit.
Log in to post a comment.