in reply to boolean calculation with very large data
See vec. By using bitstrings instead of bytestrings, your masks will be 1/8th the size (and the boolean operations a lot faster).
With a million random generated intervals, using bytestrings consumed nearly 2 GB and 80+ seconds; the same intervals using bitstrings only 0.6GB and 40 seconds.
C:\test>797136-a -INTERVALS=1e6 Check mem: 1.975 GB ( 82 seconds ) C:\test>797136-b -INTERVALS=1e6 Check mem: 0.616 GB ( 44 seconds )
BTW: Yourcodewouldbealoteasiertoreadandeditifitcontained a few spaces!
|
|---|