You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+25-9Lines changed: 25 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,25 +8,33 @@
8
8
[](http://isitmaintained.com/project/acl-dev/open-coroutine"Average time to resolve an issue")
9
9
[](http://isitmaintained.com/project/acl-dev/open-coroutine"Percentage of issues still open")
10
10
11
-
The `open-coroutine` is a simple, efficient and generic stackfull-coroutine library, you can use this as a performance replacement for IO thread pools.
11
+
The `open-coroutine` is a simple, efficient and generic stackfull-coroutine library, you can use this as a performance
12
+
replacement for IO thread pools, see [why better](core/docs/en/why-better.md).
12
13
13
14
English | [中文](README_ZH.md)
14
15
15
16
## 🚀 Features
16
17
17
-
-[x] Preemptive(`not supported in windows`): even if the coroutine enters a dead loop, it can still be seized, see [example](https://github.com/loongs-zhang/open-coroutine/blob/master/open-coroutine/examples/preemptive.rs);
18
-
-[x] Hook: you are free to use most of the slow syscall in coroutine, see supported syscall on [unix](https://github.com/acl-dev/open-coroutine/blob/master/hook/src/syscall/unix.rs)/[windows](https://github.com/acl-dev/open-coroutine/blob/master/hook/src/syscall/windows.rs);
19
-
-[x] Scalable: the size of the coroutine stack supports unlimited expansion without the cost of copying stack, and immediately shrinks to the original size after use, see [example](https://github.com/loongs-zhang/open-coroutine/blob/master/open-coroutine/examples/scalable_stack.rs);
20
-
-[x] io_uring(`only in linux`): supports and is compatible with io_uring in terms of local file IO and network IO. If it's not supported on your system, it will fall back to non-blocking IO;
18
+
-[x] Preemptive(`not supported in windows`): even if the coroutine enters a dead loop, it can still be seized,
19
+
see [example](https://github.com/loongs-zhang/open-coroutine/blob/master/open-coroutine/examples/preemptive.rs);
20
+
-[x] Hook: you are free to use most of the slow syscall in coroutine, see supported syscall
21
+
on [unix](https://github.com/acl-dev/open-coroutine/blob/master/hook/src/syscall/unix.rs)/[windows](https://github.com/acl-dev/open-coroutine/blob/master/hook/src/syscall/windows.rs);
22
+
-[x] Scalable: the size of the coroutine stack supports unlimited expansion without the cost of copying stack, and
23
+
immediately shrinks to the original size after use,
24
+
see [example](https://github.com/loongs-zhang/open-coroutine/blob/master/open-coroutine/examples/scalable_stack.rs);
25
+
-[x] io_uring(`only in linux`): supports and is compatible with io_uring in terms of local file IO and network IO. If
26
+
it's not supported on your system, it will fall back to non-blocking IO;
21
27
-[x] Priority: support custom task priority, note that coroutine priority is not open to users;
22
28
-[x] Work Steal: internally using a lock free work steal queue;
23
-
-[x] Compatibility: the implementation of open-coroutine is no async, but it is compatible with async, which means you can use this crate in `tokio/async-std/smol/...`;
29
+
-[x] Compatibility: the implementation of open-coroutine is no async, but it is compatible with async, which means you
30
+
can use this crate in `tokio/async-std/smol/...`;
24
31
-[x] Platforms: running on Linux, macOS and Windows;
Copy file name to clipboardExpand all lines: README_ZH.md
+20-9Lines changed: 20 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,15 +8,18 @@
8
8
[](http://isitmaintained.com/project/acl-dev/open-coroutine"解决issue的平均时间")
9
9
[](http://isitmaintained.com/project/acl-dev/open-coroutine"仍未关闭issue的百分比")
[](http://isitmaintained.com/project/acl-dev/open-coroutine"Average time to resolve an issue")
9
15
[](http://isitmaintained.com/project/acl-dev/open-coroutine"Percentage of issues still open")
10
16
11
-
The `open-coroutine` is a simple, efficient and generic stackfull-coroutine library, you can use this as a performance replacement for IO thread pools.
17
+
The `open-coroutine` is a simple, efficient and generic stackfull-coroutine library, you can use this as a performance
18
+
replacement for IO thread pools, see [why better](../en/why-better.md).
0 commit comments