From: "meinrad.recheis" Date: 2003-05-12T06:56:27+09:00 Subject: efficiency advice needed hi, i got to interleave the alpha channel with an rgb image both given as raw files: please don't laugh at me, but i found myself writing this very short but slow code: rgb = File.new rgbfile, 'rb' # this raw file contains rgb bytes in interleaved order, so one pixel is 3 bytes alpha = File.new alphafile, 'rb' # contains 1 byte/pixel alpha channel #desired result: a binary string, rgba interleaved, 4 byte/pixel, = 4*width*height bytes data = '' (width*height).times{ data += rgb.read( 3) + alpha.read( 1) } i think alternately reading some bytes is slowing down alot. but also loops operating on strings are slow, i think. i know some solutions, but i don t know which one to use. are there any suggestions how to do this most efficiently in ruby? -- thanks, mr