11

MITライセンス(またはそれより緩い)で軽量でポータブルなファイバーライブラリを手に入れたいと思います。Boost.Coroutine は適格ではなく (軽量ではない)、Portable Coroutine Library も Kent C++CSP (どちらも GPL) も適格ではありません。

編集:見つけるのを手伝ってくれませんか?:)

4

6 に答える 6

9
  1. libtask : MIT ライセンス
  2. Libconcurrency : LGPL (MIT より少しタイトですが、機能的なライブラリです!)

どちらも C 用に書かれています。

于 2009-08-24T10:46:26.173 に答える
3

C の実装のリスト

超軽量の「スレッド」については、ウィキペディアの記事の下部にある Protothreads をご覧ください。

于 2009-08-18T08:27:28.037 に答える
1

超高速で軽量な C 非対称コルーチン ライブラリlibacoがあります。

それは非常に小さく、非常に高速で、メモリ効率が非常に高いです。

すぐに使用できる C コルーチン ライブラリの実装に加えて、ここでは、最速で正確なコルーチン ライブラリを実装する方法についての詳細なドキュメントと、厳密な数学的証明を示します。

LOC は 700 以下ですが、コルーチン ライブラリに必要なすべての機能を備えています。

ベンチマーク部分は、AWS c5d.large マシンで、コルーチン間のコンテキスト切り替えの 1 回に約 10 ns (スタンドアロン スタックの場合) しかかからないことを示しています。

ユーザーは、スタンドアロン スタックまたは共有スタック (他のユーザーと共有可能) を使用して新しいコルーチンを作成することを選択できます。

これは非常にメモリ効率が高く、10,000,000 個の co を同時に実行しても 2.8 GB の物理メモリしかかかりません (tcmalloc で実行、各 co は 120B のコピー スタック サイズ構成を持ちます)。

また、非常に詳細なドキュメントもあります。

PS:

これは、Apache ライセンス、バージョン 2.0 の下にあります。

于 2018-07-03T14:22:28.133 に答える