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

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

[Octave-bug-tracker] [bug #55940] [Mac] Disable App Nap, either selectiv


From: Andrew Janke
Subject: [Octave-bug-tracker] [bug #55940] [Mac] Disable App Nap, either selectively or for all of Octave
Date: Wed, 22 May 2019 00:08:14 -0400 (EDT)
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Follow-up Comment #44, bug #55940 (project octave):

And here's a reference to what I think is Apple's doco on the topic. It seems
to match what's in that SO answer.

https://developer.apple.com/library/archive/documentation/Performance/Conceptual/power_efficiency_guidelines_osx/PrioritizeWorkAtTheAppLevel.html#//apple_ref/doc/uid/TP40013929-CH36-SW1.


Since Octave is a general-purpose programming language and analytics tool, it
can't really know what user code might be "low priority" (and from my
experience with M-code, it's unlikely that any of it would be). So it should
probably disable App Nap/declare a "high priority" activity whenever it's
executing any M-code or running a user-defined timer.

So Octave could probably do a `beginActivityWithOptions:reason:` as soon as
the interpreter is asked to run something, and whenever timers are active. If
that's not convenient to implement, I'd think it would be fine to just disable
App Nap once on Octave startup, and just leave it disabled for the process
lifetime. There's no reason to expect Octave to be optimized for App Nap
support.

I don't think I could do the patch that disables App Nap just while in the
interpreter, but I think I could put one together for disabling it for the
entire Octave process lifetime.

    _______________________________________________________

Reply to this item at:

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

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




reply via email to

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