Skip to content
Snippets Groups Projects
  • Martyn Gigg's avatar
    f35671a7
    Replace block-style progress reporter with C-api based one · f35671a7
    Martyn Gigg authored
    This implementation is based on the implementation in MantidPlot.
    A C++-based executor has been added that can execute Python code
    with the option of installing a trace function to update
    a progress marker on a given editor window.
    
    The old implementation attempted to chunk up the script into
    the smallest executable blocks and mark each of these as when
    they were executed. There were 2 issues:
      - the chunking of the scripts was error prone as it actually
        requires a good knowledge of how Python internally handles
        indentation etc. It was fairly easy to break and future
        internal updates to Python would have required unknown changes.
      - the progress reporting resolution was far poorer than MantidPlot
        as the actual line being executed was not reported but inferred
        by what block was being executed giving a false sense of progress
        through a script.
    f35671a7
    History
    Replace block-style progress reporter with C-api based one
    Martyn Gigg authored
    This implementation is based on the implementation in MantidPlot.
    A C++-based executor has been added that can execute Python code
    with the option of installing a trace function to update
    a progress marker on a given editor window.
    
    The old implementation attempted to chunk up the script into
    the smallest executable blocks and mark each of these as when
    they were executed. There were 2 issues:
      - the chunking of the scripts was error prone as it actually
        requires a good knowledge of how Python internally handles
        indentation etc. It was fairly easy to break and future
        internal updates to Python would have required unknown changes.
      - the progress reporting resolution was far poorer than MantidPlot
        as the actual line being executed was not reported but inferred
        by what block was being executed giving a false sense of progress
        through a script.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.