1
0
mirror of https://github.com/mpv-player/mpv synced 2025-03-25 04:38:01 +00:00
mpv/DOCS
Avi Halachmi (:avih) 932c1ada0f js: report scripts CPU/memory usage statistics
This can be viewed at page 4 of the internal stats display (i or I).

CPU time report is the same as at lua.c, but untested - doesn't seem
to work on windows - also not for lua.

TL;DR: Set env MPV_LEAK_REPORT=1 to enable js memory reporting stats.
       This also almost doubles the memory usage by js scripts.

For memory reporting, we don't have enough info by default, because
even when using a custom allocator, mujs doesn't report the old size
(on free or realloc) because it doesn't track this value, and as
a result we can't track the overall size.

Our option are either to track the size of each allocation on our own,
or use talloc which tracks this value.

However, using talloc for mujs allocations adds a considerable
overhead, and almost doubles(!) the overall memory used, because each
individual allocation includes a considerable talloc header, and mujs
does many small allocations.

So our solution is that by default we behave like previously - not
using a custom allocator with mujs, and stats does not display memory
usage for js scripts.

However, if the env var MPV_LEAK_REPORT is set to 1, then we use
a custom allocator with talloc and track/report memory usage.

We can't switch allocator at runtime, so an mpv instance either tracks
or doesn't track js scripts memory usage, according to the env var.
(we could use a property and apply it whenever a new script starts,
so that it could change for newly launched scripts, but we don't).
2020-11-15 20:36:04 +02:00
..
man js: report scripts CPU/memory usage statistics 2020-11-15 20:36:04 +02:00
client-api-changes.rst client API: inactivate the opengl_cb API 2020-09-03 14:52:11 +02:00
compatibility.rst DOCS/compatibility.rst: add this file 2019-10-05 02:11:55 +02:00
compile-windows.md Update compile-windows.md 2020-08-28 23:34:29 -04:00
contribute.md DOCS/contribute.md: add a CCoC 2020-08-12 17:32:02 +02:00
edl-mpv.rst ytdl_hook, edl: add fps, samplerate codec parameters 2020-02-21 14:48:23 +01:00
encoding.rst DOCS/encoding.rst: remove deprecated usage of multiple items with *-add 2020-01-07 18:13:12 +01:00
interface-changes.rst DOCS: correct interface-changes.rst 2020-11-07 18:55:03 -06:00
mplayer-changes.rst mac: remove Apple Remote support 2019-12-15 20:07:31 +01:00
release-policy.md DOCS/release-policy.md: clarify a few details 2019-10-27 14:06:16 +01:00
tech-overview.txt options: change option macros and all option declarations 2020-03-18 19:52:01 +01:00
waf-buildsystem.rst DOCS/waf-buildsystem.rst: fix typo 2017-02-15 10:41:26 +01:00