Because the random benchmark is used for a few other tests, I figured I'd do it next. To do it the same way in pir is slow because it requires putting a variable into a global register and retrieving it 900,000 times. I have three versions written up. One that's split over two files, with one file including main, and the other including an init section and the actual needed sub. Another that's the same but just one file, but a tad uglier to me(7 extra lines just for error checking). And the final cream of the crop(i.e. about twice as fast as the pir), a pasm version, which takes advantage of the fact that the registers stay the same the whole time unless modified.

Attachment: random.pir
Description: Binary data


Attachment: random_lib.pir
Description: Binary data


Attachment: random_single.pir
Description: Binary data


Attachment: random.pasm
Description: Binary data

Reply via email to