Although the generation of a fixed number of errors/losses work, the current implementation using a linked list has performance that creates problems when patterns with a fixed, large number of errors/losses are generated. The gain in memory usage seems to offset by increased execution times when the number of generated losses errors > 50000. Ideally, another datastructure with a bit more space complexity and less time complexity should be used instead.
V1.55:
[johan@jglap patt_gen]$ time ./patt_gen -pkt -rand tmpP1-1_55-milj-10.bep data 1000000 0 10000
real 0m0.956s
user 0m0.736s
sys 0m0.009s
[johan@jglap patt_gen]$ time ./patt_gen -pkt -rand tmpP1-1_55-milj-50.bep data 1000000 0 50000
real 0m12.876s
user 0m12.593s
sys 0m0.021s
[johan@jglap patt_gen]$ time ./patt_gen -pkt -rand tmpP1-1_55-milj-70.bep data 1000000 0 70000
real 0m25.937s
user 0m25.672s
sys 0m0.024s
[johan@jglap patt_gen]$ time ./patt_gen -pkt -rand tmpP1-1_55-milj.bep data 1000000 0 100000
real 1m1.473s
user 1m1.137s
sys 0m0.048s
V1.1:
[johan@jglap patt_gen]$ time ./patt_gen1_1 -pkt -rand tmpP1-1_1-milj.bep data 1000000 0 100000
real 0m0.420s
user 0m0.058s
sys 0m0.008s