meh / cancer

It's terminal.
GNU General Public License v3.0
129 stars 12 forks source link

Reuse rows instead of dropping them. #2

Closed meh closed 7 years ago

meh commented 7 years ago

As profiling shows in line insertion heavy programs dropping the rows has a high cost, consider some sort of object pool.

    86.02%     0.00%  cancer   cancer                         [.] cancer::main::hfb5b54f860ad21c8
            |
            ---cancer::main::hfb5b54f860ad21c8
               |          
                --86.00%--cancer::open::h8e10f5e404f4e57b
                          |          
                           --85.18%--cancer::terminal::terminal::Terminal::handle::h6d28c09361c201a6
                                     |          
                                     |--26.73%--_$LT$collections..vec_deque..VecDeque$LT$A$GT$$u20$as$u20$core..iter..traits..Extend$LT$A$GT$$GT$::extend::h06599bc5e44e1eff
                                     |          |          
                                     |           --8.00%--drop::hc4b7410970c91147
                                     |          
                                     |--20.80%--_$LT$collections..vec_deque..VecDeque$LT$A$GT$$u20$as$u20$core..iter..traits..Extend$LT$A$GT$$GT$::extend::h485c7dcc20856784
                                     |          
                                     |--14.56%--control_code::control::control::h7590ffed932e9ebe
                                     |          |          
                                     |           --0.69%--drop::hea8bcbf69f16ea1b
                                     |          
                                     |--14.46%--drop::hb933b22d7461b6da
                                     |          |          
                                     |           --14.11%--drop::hc4b7410970c91147
                                     |          
                                     |--0.76%--__memcmp_sse4_1
                                     |          
                                      --0.62%--cancer::terminal::cursor::Cursor::travel::h4c6028896ffe4736
meh commented 7 years ago

Fixed on master.