on master help sign in
-

Ignore-this: 1bda8fb0f193525117eef4b67213ebf4 darcs-hash:20091008224658-f0a0d-fc79a7b92672cb7803fc2851d242016aea4d7c58.gz

commitd61f68792163f4561d5893c33cdcac9ae98662df authorcoreyoconnor <coreyoconnor@gmail.com> dateThu 8 Oct 2009, 15:46 (17 years ago) parent5043ac6
2 files changed+20−3
docs/vty_4_development.txt+19−2 src/Graphics/Vty/Span.hs+1−1
docs/vty_4_development.txt+19−2
@@ -84,7 +84,24 @@ made up for the fact that QuickCheck tests are *extremely* easy and quick to imp
8484I used a very simple Makefile to manage the execution of tests. The usage followed:
8585 make => built and ran all tests.
8686 make TEST => build and run test with name TEST. The output for a test was logged to a "results"
87− directory.
88−Nothing fancy, but enough.
87+ directory. The results included a time and memory profile.
88+Nothing fancy, but enough to support a very quick modify/test cycle.
89+
90+Compared to VTY 3 the optimization of VTY 4 was easier. Each test provided basic performance
91+feedback in addition to verifying correctness. I investigated significant changes in the performance
92+data and, for each case, determined if the change was acceptable or indicated a performance
93+regression. Any change in performance that was due to correcting the implementation was considered
94+acceptable. This is in contrast to VTY 3 where all the optimizations in the final release were
95+micro-optimizations: Hand application of primitive types and equations.
96+
97+Sun Jan 11 13:37 2009 Time and Allocation Profiling Report (Final)
98+total time = 3.48 secs (174 ticks @ 20 ms)
99+total alloc = 2,542,866,800 bytes (excludes profiling overheads)
100+
101+Current release of Vty with minimal use of primitive types but an entirely different algorithm:
102+
103+Thu Sep 3 13:30 2009 Time and Allocation Profiling Report (Final)
104+total time = 1.84 secs (92 ticks @ 20 ms)
105+total alloc = 1,513,254,136 bytes (excludes profiling overheads)
89106
90107
src/Graphics/Vty/Span.hs+1−1
@@ -147,7 +147,7 @@ ops_for_row mrow_ops bg region image y remaining_columns
147147 then remaining_columns
148148 else width
149149 forM_ [y .. y + actual_height - 1] $ \y' -> snoc_bg_fill mrow_ops bg actual_width y'
150− Translation v i -> return ()
150+ Translation v i -> ops_for_row mrow_ops bg region i y remaining_columns
151151
152152snoc_text_span :: (Foldable.Foldable t)
153153 => Attr