-
Notifications
You must be signed in to change notification settings - Fork 1
Week_5
(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.
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.