Mitchell Hashimoto
c438d72f13
macos: add ErrorView
2023-02-19 10:44:54 -08:00
Mitchell Hashimoto
9bd527fe00
macos: config API
2023-02-19 10:44:54 -08:00
Mitchell Hashimoto
6fc4b144a2
build: update libtool step docs
2023-02-19 10:44:54 -08:00
Mitchell Hashimoto
d2d21801d8
macos: need to link to libstdc++
2023-02-19 10:44:54 -08:00
Mitchell Hashimoto
d2dd3df86a
libtoolstep
2023-02-19 10:44:54 -08:00
Mitchell Hashimoto
9fcc9ce302
macos: add missing Preview Content folder
2023-02-19 10:44:54 -08:00
Mitchell Hashimoto
8b80e65928
lots of broken stuff
2023-02-19 10:44:54 -08:00
Mitchell Hashimoto
4dd4bbf7e0
macos: disable code signing for now
2023-02-19 10:44:54 -08:00
Mitchell Hashimoto
6de6f100a9
ci: revert back to scripting xcodebuild (broken)
2023-02-19 10:44:54 -08:00
Mitchell Hashimoto
a2dd8d8abe
include: comment the modulemap
2023-02-19 10:44:53 -08:00
Mitchell Hashimoto
5d6e41557e
ci: try to xcodebuild
2023-02-19 10:44:53 -08:00
Mitchell Hashimoto
aa640fa29b
ci: build macos app
2023-02-19 10:44:53 -08:00
Mitchell Hashimoto
fb1b032929
ci: trying to build macos
2023-02-19 10:44:53 -08:00
Mitchell Hashimoto
1abaf87de9
build: LipoStep
2023-02-19 10:44:53 -08:00
Mitchell Hashimoto
55aff76922
build: remove SwiftBuildStep
2023-02-19 10:44:53 -08:00
Mitchell Hashimoto
abd739f3ef
build: just copy xcframework
2023-02-19 10:44:53 -08:00
Mitchell Hashimoto
aefec1d6a9
macos: xcodeproj
2023-02-19 10:44:53 -08:00
Mitchell Hashimoto
8fedbf84d4
macos: use xcodeproj
2023-02-19 10:44:53 -08:00
Mitchell Hashimoto
8035865596
build: ghostty lib, framework, build into app
2023-02-19 10:44:53 -08:00
Mitchell Hashimoto
81299fde9c
macos: empty window
2023-02-19 10:44:52 -08:00
Mitchell Hashimoto
4d09f8dba6
build: add SwiftBuildStep to run "swift build"
2023-02-19 10:44:52 -08:00
Mitchell Hashimoto
b49634a57c
add TODO notes about arch
2023-02-19 10:44:52 -08:00
Mitchell Hashimoto
1f70181032
build: can build the app using Swift (noop)
2023-02-19 10:44:52 -08:00
Mitchell Hashimoto
f2948fd6a6
macos: starting boilerplate
2023-02-19 10:44:52 -08:00
Mitchell Hashimoto
caa27fcf98
ci: use -Doptimize
2023-02-14 21:25:41 -08:00
Mitchell Hashimoto
a2f17aa71a
fix tests, wasm build works again
2023-02-14 21:06:09 -08:00
Mitchell Hashimoto
6accb7d67c
delete libuv
2023-02-14 21:00:24 -08:00
Mitchell Hashimoto
be75109a1d
new build system
2023-02-14 20:58:33 -08:00
Mitchell Hashimoto
ec19c178a1
update zig version
2023-02-14 17:45:41 -08:00
Mitchell Hashimoto
7d626326de
nix: fix darwin devshell
2023-02-12 19:29:26 -08:00
Mitchell Hashimoto
4a1ff37d63
build conformance into dedicated directory
2023-02-10 08:43:32 -08:00
Mitchell Hashimoto
7d16acdf06
build: add comptime check to verify Zig version
2023-02-08 15:42:41 -08:00
Mitchell Hashimoto
9a5c1cce26
Merge pull request #71 from mitchellh/dependabot/github_actions/cachix/install-nix-action-19
...
build(deps): bump cachix/install-nix-action from 18 to 19
2023-02-06 16:57:02 -08:00
dependabot[bot]
ba55791a51
build(deps): bump cachix/install-nix-action from 18 to 19
...
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action ) from 18 to 19.
- [Release notes](https://github.com/cachix/install-nix-action/releases )
- [Commits](https://github.com/cachix/install-nix-action/compare/v18...v19 )
---
updated-dependencies:
- dependency-name: cachix/install-nix-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-02-07 00:20:04 +00:00
Mitchell Hashimoto
b124162eda
Merge pull request #70 from mitchellh/libxev
...
This completely drops libuv as a dependency and uses [libxev](https://github.com/mitchellh/libxev ) instead.
The _primary_ reason to do this is easier building, cross-compiling, and the ability to write a WASM backend in the future. However, we don't want to do this unless it has a positive or null impact on performance. On this, we've succeeded!
The performance impact on Linux is very small. The performance impact on macOS is quite large (I'm seeing almost 40% faster on IO heavy workloads). On both platforms, the stddev of IO heavy workloads is much smaller. This isn't libxev itself, this is primarily do to switching to the dedicated read thread (more next).
This PR also has an architectural change: the TTY reads now happen on a dedicated thread _outside the event loop_. I realized that TTY reads are almost always very small and under heavy IO load, the event loop overhead is very heavy. This is particularly true with io_uring since it uses an kernel threadpool under the covers and the context switch cost was very visible. Another factor is that TTY reads are almost always the only thing impacting terminal state. So if we wrap the terminal state in a lock (we already do), there is almost no overhead to moving the reads to a thread since locks aren't slow, lock contention is slow, and we have almost no lock contention under typical loads.
The main impact of the dedicated TTY reader thread is that there is no event loop overhead and the "jitter" between IO reads is now very small.
🚀
2023-02-06 16:18:19 -08:00
Mitchell Hashimoto
695a9f3cb9
termio: fix pty close error so close doesn't hang on macOS
2023-02-06 16:05:41 -08:00
Mitchell Hashimoto
469d395997
termio: fix TODO around cursor reset
2023-02-06 15:51:55 -08:00
Mitchell Hashimoto
7c360eb29a
termio: better commenting on what is going on
2023-02-06 15:45:32 -08:00
Mitchell Hashimoto
91ace8af64
termio: IO reader thread cleanup works
2023-02-06 15:41:28 -08:00
Mitchell Hashimoto
11d6e91228
termio: reader thread is thread-safe for writing to writer
2023-02-06 14:52:24 -08:00
Mitchell Hashimoto
18f20add34
pkg/libuv: delete
2023-02-06 13:07:47 -08:00
Mitchell Hashimoto
a5d03d1318
termio: use a dedicated io reader thread?
2023-02-05 21:33:15 -08:00
Mitchell Hashimoto
24373d84af
update libxev
2023-02-05 21:20:49 -08:00
Mitchell Hashimoto
f07e21c22e
remove libuv from build
2023-02-04 17:37:51 -08:00
Mitchell Hashimoto
7e6a86f065
termio: use libxev (with TODOs)
2023-02-04 11:47:51 -08:00
Mitchell Hashimoto
ad10b2cf0b
vendor update
2023-02-04 11:47:46 -08:00
Mitchell Hashimoto
ad83668234
vendor/libxev update
2023-02-01 19:04:03 -08:00
Mitchell Hashimoto
1273527048
renderer uses libxev
...
Still some bugs and TODOs, but it is workable.
2023-02-01 15:52:22 -08:00
Mitchell Hashimoto
28ed8573b6
update libxev
2023-02-01 15:52:12 -08:00
Mitchell Hashimoto
60fca27c33
vendor/libxev
2023-01-30 19:17:43 -08:00