stackless/stackfull coroutine 筆記
看了一些語言的coroutine的使用方式後,不免有些疑問,為什麼區別這麼大
這就涉及到stackless/stackfull實現方式的影響了
stackless coroutine的 棧 的呼叫棧複用,棧內資訊儲存在堆上(用於恢復)
stackfull coroutine的有獨立私有的棧
stackless coroutine 最大的優勢就是效能好,缺點就是易用性
stackfull coroutine的最大優勢就是易用性,缺點就是空間浪費,效能差
stackless coroutine 增加語義化支援(通過強大的編譯器做了很多事), 在易用性方面已經不弱於stackfull coroutine了
而stackfull coroutine 增通過預分配一定大小的棧,檢查是否超出(go似乎是通過編譯器在函式呼叫前插入檢查程式碼)來擴容,採取一定的收縮策略(go似乎是垃圾回收時候進行收縮的)
參考:
https://stackoverflow.com/questions/28977302/how-do-stackless-coroutines-differ-from-stackful-coroutines
https://blog.varunramesh.net/posts/stackless-vs-stackful-coroutines/
相關文章
- asio學習筆記8——stackfull coroutine筆記
- boost.coroutine學習筆記筆記
- cloudwu/coroutine 原始碼分析Cloud原始碼
- Python Enhanced Generator - CoroutinePython
- CPS 與 Kotlin coroutineKotlin
- Kotlin 協程一 —— CoroutineKotlin
- 高效能python程式設計之協程(stackless)Python程式設計
- tornado 原始碼之 coroutine 分析原始碼
- 理解Python的協程(Coroutine)Python
- Kotlin Coroutine(協程)簡介Kotlin
- Kotlin Coroutine(協程) 基本知識Kotlin
- Kotlin coroutine之協程基礎Kotlin
- Python中協程(coroutine)詳解Python
- XTask與Kotlin Coroutine的使用對比Kotlin
- Unity 協程(Coroutine)原理與用法詳解Unity
- Unity協程(Coroutine)管理類——TaskManager工具分享Unity
- 印象筆記 --- 方法分享筆記筆記
- Kotlin Coroutine(協程): 二、初識協程Kotlin
- Kotlin Coroutine(協程): 三、瞭解協程Kotlin
- 使用tornado的coroutine進行程式設計行程程式設計
- Lua的多工機制——協程(coroutine)(轉)
- 筆記筆記
- Android開發中的Kotlin Coroutine VS RxJavaAndroidKotlinRxJava
- CUUG筆記 ORACLE索引學習筆記筆記Oracle索引
- 主動筆記與被動筆記筆記
- 淘寶記錄筆記筆記
- 心情筆記筆記
- 命令筆記筆記
- 筆記:Docker筆記Docker
- Meteor筆記筆記
- ES筆記筆記
- AbstractQueuedSynchronizer筆記筆記
- new筆記筆記
- vio筆記筆記
- Liunx筆記筆記
- Nacos 筆記筆記
- oracle筆記Oracle筆記
- html 筆記HTML筆記