cosmopolitan/tool/build
Justine Tunney 624573207e
Make threads faster and more reliable
This change doubles the performance of thread spawning. That's thanks to
our new stack manager, which allows us to avoid zeroing stacks. It gives
us 15µs spawns rather than 30µs spawns on Linux. Also, pthread_exit() is
faster now, since it doesn't need to acquire the pthread GIL. On NetBSD,
that helps us avoid allocating too many semaphores. Even if that happens
we're now able to survive semaphores running out and even memory running
out, when allocating *NSYNC waiter objects. I found a lot more rare bugs
in the POSIX threads runtime that could cause things to crash, if you've
got dozens of threads all spawning and joining dozens of threads. I want
cosmo to be world class production worthy for 2025 so happy holidays all
2024-12-21 22:13:00 -08:00
..
dso Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
lib Support merging many .a files into one .a file 2024-09-05 19:28:14 -07:00
apelink.c Get monorepo fully building on Windows again 2024-09-12 05:07:21 -07:00
ar.c Work around copy_file_range() bug in eCryptFs 2024-09-29 16:35:38 -07:00
assimilate.c Get monorepo fully building on Windows again 2024-09-12 05:07:21 -07:00
bigmul.c Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
BUILD.mk Strongly link glob() into system() and popen() 2024-11-15 20:37:34 -08:00
chmod.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
cocmd.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
compile.c Work around copy_file_range() bug in eCryptFs 2024-09-29 16:35:38 -07:00
cp.c Get monorepo fully building on Windows again 2024-09-12 05:07:21 -07:00
dd.c Fix some static analysis issues 2024-07-27 09:16:54 -07:00
dlopen_test.c Support 40 cosmo_dlopen() function parameters 2024-01-04 13:41:26 -08:00
dropcache.c Stop using .com extension in monorepo 2024-03-03 03:12:19 -08:00
echo.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
elf2pe.c Get monorepo fully building on Windows again 2024-09-12 05:07:21 -07:00
elf2pe.h Experiment with supporting Windows Arm64 natively 2024-08-16 06:43:59 -07:00
false.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
fastdiff.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
findape.c Make improvements 2024-02-12 10:23:00 -08:00
findelf.c Make improvements 2024-02-12 10:23:00 -08:00
findpe.c Make improvements 2024-02-12 10:23:00 -08:00
fixupobj.c Get monorepo fully building on Windows again 2024-09-12 05:07:21 -07:00
freebsd2sysv.c Fix some static analysis issues 2024-07-27 09:16:54 -07:00
gzip.c Get monorepo fully building on Windows again 2024-09-12 05:07:21 -07:00
helpop.c Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
killall.c Get monorepo fully building on Windows again 2024-09-12 05:07:21 -07:00
lz4toasm.c Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
march-native.c Improve -march=native micro-architecture detection 2024-05-29 10:12:49 -07:00
mkdeps.c Get monorepo fully building on Windows again 2024-09-12 05:07:21 -07:00
mkdir.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
mktemper.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
mv.c Get monorepo fully building on Windows again 2024-09-12 05:07:21 -07:00
nproc.c Cull the examples folder 2023-10-11 21:45:32 -07:00
objbincopy.c Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
package.c Get monorepo fully building on Windows again 2024-09-12 05:07:21 -07:00
pecheck.c Fix ctype.h and wctype.h 2024-07-21 15:54:17 -07:00
pledge.c Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
printf.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pwd.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
reboot.c Run clang-format (#1197) 2024-06-01 16:30:43 -04:00
resymbol.c Get monorepo fully building on Windows again 2024-09-12 05:07:21 -07:00
rm.c Get monorepo fully building on Windows again 2024-09-12 05:07:21 -07:00
runit.c Make threads faster and more reliable 2024-12-21 22:13:00 -08:00
runit.h Fix bugs and add security features to redbean 2022-04-18 00:01:26 -07:00
runitd.c Add missing ICANON features 2024-09-05 03:17:19 -07:00
sha256sum.c Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
shutdown.c Cull the examples folder 2023-10-11 21:45:32 -07:00
summy.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
symtab.c Get monorepo fully building on Windows again 2024-09-12 05:07:21 -07:00
touch.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
unbuffer.c Stop using .com extension in monorepo 2024-03-03 03:12:19 -08:00
unveil.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
verynice.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
zipcopy.c Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
zipobj.c Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00