Skip to content
Michal J. Gajda edited this page Oct 28, 2020 · 3 revisions
alternate text

(source: http://learnyouahaskell.com,
cc Miran Lipovača)

#5th week Here is the milestone for the 5th week from original proposal:
Milestone 3: Have another profiling statistic, which shows improvements.

##Work To Do The plan for this week is to improve the current implementation using unboxed vectors such that there is an improvement in time and space consumption of the program. This will be done by going again through the code and replace 'expensive' functions by 'cheaper' ones, e.g. avoid cons with vectors. Addionally, inlining some functions should help to improve the running time. Another option is to look at Haskell core to see where the compiler optimization is not done perfectly and change those parts in the program.

##Work Done Last week, I already changed the trans_align method using unfoldr. This week I rewrote the methods merge1 and group_al''' since they showed the largest values in time and space consumption. As you will see in the profiling statistics, the values decreased just slightly. This shows that some more improvements need to be done until the time and space consumption will decrease significantly.

INIT time 0.00s ( 0.00s elapsed) MUT time 2119.14s (2262.45s elapsed) GC time 5944.92s (6461.96s elapsed) RP time 0.00s ( 0.00s elapsed) PROF time 0.00s ( 0.00s elapsed) EXIT time 0.38s ( 2.30s elapsed) Total time 8064.45s (8726.71s elapsed)
Alloc rate    2,841,585,093 bytes per MUT second  

Productivity  26.3% of total user, 24.3% of total elapsed  
transalign_prof +RTS -p -RTS ../../transalign/test-data/452.xml ../../transalign/test-data/U50_vs_SP.xml  

total time  =     1453.98 secs   (1453984 ticks @ 1000 us, 1 processor)  
total alloc = 2,517,049,465,488 bytes  (excludes profiling overheads)  

COST CENTRE        MODULE     %time %alloc  

group_al'''        Align       34.5   40.2  
sort_column        Align       29.4   24.1  
merge1             Align       26.3   21.3  
trans_align        Align        4.9    9.9  
merge_group        Align        1.9    1.0  
readAlignmentCache BlastCache   1.0    1.5  
match2align        Blast        0.6    1.3  

#Next weeks

Here, you can find the entry for the next two weeks.

#References About Haskell core.

Back to main page.
Previous weeks.

Clone this wiki locally