Daan Leijen
8fc8da5d81
use thread local stats for abandoned statistics to reduce contention
2025-02-04 17:54:49 -08:00
daanx
dd1b37c9f8
fix recursive tls access on macOS <= 14
2024-12-22 21:03:03 -08:00
daanx
95aeda4cdd
merge subproc stats on delete
2024-12-21 10:53:34 -08:00
daanx
dece8a587b
make stats part of a subproc
2024-12-21 10:43:08 -08:00
Daan Leijen
58b726be6f
better stats for commit on overcommit systems (by not counting on-demand commit upfront)
2024-12-17 18:57:00 -08:00
daanx
21c05019b7
Merge branch 'dev' into dev3
2024-12-17 17:54:24 -08:00
daanx
617190880d
add ajust stats to compensate for double counting
2024-12-17 17:53:34 -08:00
daanx
216c04f8d9
clean up bitmap api
2024-12-13 18:39:03 -08:00
daanx
666c089fc8
revise free reclaim; ensure unown cannot race with a free
2024-12-03 10:51:13 -08:00
daanx
d15e83030e
wip: rename arena blocks to slices
2024-11-30 12:16:41 -08:00
daanx
188294a0df
wip: bug fixes
2024-11-30 11:12:39 -08:00
daanx
68f5fb2f4b
wip: further progress on segment removal; arena allocation
2024-11-29 15:08:06 -08:00
daanx
8ba1879073
add sampling for guarded objects
2024-11-17 00:06:16 -08:00
Daan Leijen
0022802177
commend and make at least 8 tries for reclaim
2024-03-25 15:25:04 -07:00
Daan Leijen
b5665f0eec
add full block_size and page_start to page info
2024-03-24 14:17:17 -07:00
Daan
027b22aaf2
add arena stats
2024-03-03 09:37:46 -08:00
daanx
c1218883a4
more format specifiers for _mi_vsnprintf
2023-05-19 17:48:07 -07:00
daanx
e10467f673
add libc primitives to reduce dependencies
2023-05-19 11:57:10 -07:00
daanx
a655c28b66
cleanup
2023-04-16 12:29:21 -07:00
daanx
55df1f3a54
more detailed stats, including purges
2023-04-05 09:48:22 -07:00
Daan Leijen
54ad5e76fd
fix warnings for issues #709
2023-03-20 11:43:31 -07:00
Daan Leijen
f58357548c
restructure header files
2023-03-20 10:37:39 -07:00
Daan Leijen
85a2bb5c60
update process info primitive api
2023-03-20 10:22:45 -07:00
Daan Leijen
69cb30a874
move process info into primitives
2023-03-14 17:15:52 -07:00
Daan Leijen
b3f3a0de3b
include psapi.h instead of defining PROCESS_MEMORY_COUNTERS on windows
2023-03-05 22:22:36 -08:00
Daan Leijen
505a14bbd8
cleanup on-demand loading of psapi and bcrypt on windows
2022-12-19 16:50:13 -08:00
Johannes Schindelin
948a0c44df
Lazy-load psapi.dll
...
Let's load the `GetProcessMemoryInfo()` function dynamically. When
needed. If needed.
This is necessary because the start-up cost spent on loading dynamic
libraries is non-negligible.
Note: In contrast to how `os.c` loads libraries and obtains function
addresses, we cannot call `FreeLibrary(hDll)` here because that would
unload the `bcrypt` library before we want to use it.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2022-12-03 01:12:59 +01:00
Johannes Schindelin
745a34f475
Fix whitespace
...
This mostly deletes trailing spaces.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2022-12-03 00:24:20 +01:00
Daan Leijen
4b56af178e
remove ,not all freed, messag
...
e from reserved and committed stats (as that is expected at normal process exit)
2022-11-23 10:06:35 -08:00
daan
c4663463d1
add mi_cdecl to functions to avoid errors when compiling with a different calling convention, see PR #592
2022-10-31 12:16:34 -07:00
Daan
e96614961f
fix printf format type mismatches (issue #486 )
2021-11-06 14:19:14 -07:00
Daan Leijen
10c31f9b41
fix warnings
2021-10-19 15:13:01 -07:00
Daan
9a724889ea
refine stat output with new SI units
2021-10-19 12:50:16 -07:00
Daan
75987e4590
Merge pull request #410 from jserv/enforce-binary-prefix
...
Distinguish SI and Binary Prefixes
2021-10-19 12:28:33 -07:00
Daan
2adf69859b
Merge pull request #418 from devnexen/haiku_build_fix
...
haiku biuld fix proposal, warning suppression.
2021-10-19 12:19:44 -07:00
Daan
d6bbc08119
prefer monotonic clock for stats (issue #457 )
2021-10-18 18:24:59 -07:00
Daan Leijen
679aad0659
update wasm support with emscripten compilation; now using sbrk instead of wasm_memory_grow
2021-10-01 15:05:01 -07:00
David Carlier
a35a7d4f19
haiku biuld fix proposal, warning suppression.
2021-06-19 09:14:43 +00:00
Daan Leijen
4ba32c3160
Revert "make all includes relative"
...
This reverts commit 1feb6123d9
.
2021-06-07 16:47:57 -07:00
Daan Leijen
1feb6123d9
make all includes relative
2021-06-06 20:31:36 -07:00
Jim Huang
0f57425f80
Distinguish SI and Binary Prefixes
...
SI prefixes [the decimal prefixes] refer strictly to powers of 10. They
should not be used to indicate powers of 2. e.g., one kilobit
represents 1000 bits instead of 1024 bits. IEC 60027‐2 symbols are
formed adding a "i" to the SI symbol (e.g. G + i = Gi).
2021-05-30 20:13:28 +08:00
Jim Huang
5940d3bcce
Bump copyright date
...
Each source file has been changed according to relevant Git activities.
2021-04-24 16:35:11 +00:00
Jim Huang
3402c6cc3f
Revise the use of macOS predefined macro
...
Quoted from "Porting UNIX/Linux Applications to OS X,"[1]
* macro __MACH__ is defined if Mach system calls are supported;
* macro __APPLE__ is defined in any Apple computer.
__MACH__ is not specific to macOS since GNU/Hurd runs on a Mach-based
microkernel (gnumach) [2]. __MACH__ is defined by the compiler,
leading to potential confusions. The solution is just changing the
checked identifier (i.e. __APPLE__), so it is really used only on
macOS.
[1] https://developer.apple.com/library/archive/documentation/Porting/Conceptual/PortingUnix/compiling/compiling.html
[2] https://www.gnu.org/software/hurd/microkernel/mach/gnumach.html
2021-04-21 15:24:02 +08:00
Daan Leijen
71ac98ab08
rename <Windows.h> include to <windows.h> for mingw compatibility (see pr #367 )
2021-02-22 13:04:11 -08:00
Daan Leijen
a6fa7b083e
make current stat the third column instead of first
2021-01-29 14:45:16 -08:00
Daan
fb9c6ce127
Merge pull request #327 from asl/stats-cur
...
Print current values of stat counters as well.
2021-01-29 14:35:13 -08:00
Daan Leijen
a8b282091f
update formatting of statistics
2021-01-29 13:03:06 -08:00
Anton Korobeynikov
765fc9c0ca
Unify statistic collection:
...
- For MI_STAT == 0 no allocation stats are collected
- For MI_STAT == 1 only aggregated values (across normal, large and huge heaps) are collected
- For MI_STAT == 1 separate per-bin collection for normal heap is done as well
2020-11-11 11:41:39 +03:00
Anton Korobeynikov
00fb89f771
Rename the field
2020-11-11 11:41:33 +03:00
Anton Korobeynikov
d9a0624529
Print current values of stat counters as well.
...
For some reasons unknown to me the current values of stat counters are never printed.
This makes is quite hard to use printing during the debugging in the middle
of program run.
2020-11-02 00:24:24 +03:00