octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #56752] Performance slowdown from version 3.2.


From: Rik
Subject: [Octave-bug-tracker] [bug #56752] Performance slowdown from version 3.2.4 through to current dev branch
Date: Thu, 5 Sep 2019 00:55:34 -0400 (EDT)
User-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko

Follow-up Comment #35, bug #56752 (project octave):

I ran profiling on the more narrow bm.assign.m for which the relevant hotspot
is 

for j = 1:620
  for k = 1:620
    z = 13;
  end
end


The results are



-   92.74%     1.47%  octave-cli  liboctinterp.so.7.0.0  [.]
octave::tree_evaluator::visit_simple_for_command
   - 91.27% octave::tree_evaluator::visit_simple_for_command
        octave::tree_evaluator::visit_statement_list
      - octave::tree_evaluator::visit_statement
         - 90.88% octave::tree_evaluator::visit_simple_for_command
              octave::tree_evaluator::visit_statement_list
            - octave::tree_evaluator::visit_statement
               - 89.30% octave::tree_evaluator::visit_simple_for_command
                  - 67.65% octave::tree_evaluator::visit_statement_list
                     - 65.17% octave::tree_evaluator::visit_statement
                        - 44.61% octave::tree_simple_assignment::evaluate
                           - 13.86% octave::octave_lvalue::assign
                              - 3.94% octave::script_stack_frame::varref
                                   1.82%
octave::script_stack_frame::get_val_offsets_with_insert
                                3.87% octave_value::storable_value
                                0.50% octave::base_value_stack_frame::varref
                             4.03%
std::__cxx11::_List_base<octave::octave_lvalue,
std::allocator<octave::octave_lvalue> >::_M_clear
                             3.41% octave_value::~octave_value
                             1.92% std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >::_M_construct<char const*>
                             1.06% cfree@GLIBC_2.2.5
                             0.59% std::__cxx11::_List_base<octave_value_list,
std::allocator<octave_value_list> >::_M_clear
                          4.79% octave::tree_identifier::lvalue
                          4.04% octave_value::~octave_value
                          2.65% octave::tree_constant::evaluate
                          0.74% operator new
                          0.69% malloc
                          0.68% octave::tree_statement::column
                          0.50% std::_Function_handler<void (),
std::_Bind<octave::tree_simple_assignment::evaluate(octave::tree_evaluator&,
int)::{lambda(std::__cxx11::list<octave::octave_lvalue, std::allocat
                  - 14.70% octave::octave_lvalue::assign
                       4.48% octave_value::storable_value
                     - 3.21% octave::script_stack_frame::varref
                         
octave::script_stack_frame::get_val_offsets_with_insert
                    2.82% octave_value::~octave_value
                    0.75% cfree@GLIBC_2.2.5
                    0.57% operator new
                    0.54% octave_value::octave_value
   + 1.47% 0x6de258d4c544155


octave_value objects seem reasonably heavy.  Just running the destructor
~octave_value consumed ~10.5% of runtime.

The Self section which is the second column of these four entries seems high
(adds up to 46.7% of run time)


+   44.99%    17.18%  octave-cli  liboctinterp.so.7.0.0  [.]
octave::tree_simple_assignment::evaluate
+   28.56%    10.76%  octave-cli  liboctinterp.so.7.0.0  [.]
octave::octave_lvalue::assign
+   10.70%    10.70%  octave-cli  liboctinterp.so.7.0.0  [.]
octave_value::~octave_value
+    8.35%     8.01%  octave-cli  liboctinterp.so.7.0.0  [.]
octave_value::storable_value




    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?56752>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]