Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix bugs in Octave module loading #47

Closed
wants to merge 3 commits into from
Closed

Fix bugs in Octave module loading #47

wants to merge 3 commits into from

Commits on May 9, 2013

  1. Octave: remove allocation of new octave_value in SWIG_Octave_SetGloba…

    …lValue()
    
    - this introduces a memory leak, which becomes significant for large
      modules (many global variables) and many module re-loadings (e.g.
      during a long-running script)
    - the original motivation was to prevent double-frees on exit, but this
      problem appears to have been fixed by the _Exit() hack in later commits,
      and in any case is an issue only for Octave ~3.2, so it should be safe to
      remove; tested by running Octave examples/test suite with Debian 3.2.4 and
      built-from-source 3.2.4, 3.4.3, and 3.6.3
    kwwette committed May 9, 2013
    Configuration menu
    Copy the full SHA
    a76850e View commit details
    Browse the repository at this point in the history
  2. Octave: install functions only once, when creating module

    - once installed, Octave functions can never really be uninstalled
      (clear -f doesn't prevent the function being called again), so
      it makes no sense to install functions more than once
    - this can lead to a significant speed-up of module loading times,
      up to a factor of 10 for a large module loaded multiple times
    kwwette committed May 9, 2013
    Configuration menu
    Copy the full SHA
    9aa8b0c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5130d4f View commit details
    Browse the repository at this point in the history