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/
相關文章
- CPS 與 Kotlin coroutineKotlin
- cloudwu/coroutine 原始碼分析Cloud原始碼
- Kotlin 協程一 —— CoroutineKotlin
- 理解Python的協程(Coroutine)Python
- Kotlin Coroutine(協程)簡介Kotlin
- tornado 原始碼之 coroutine 分析原始碼
- Python中協程(coroutine)詳解Python
- Kotlin coroutine之協程基礎Kotlin
- Kotlin Coroutine(協程) 基本知識Kotlin
- 協程Part1-boost.Coroutine.md
- XTask與Kotlin Coroutine的使用對比Kotlin
- 印象筆記 --- 方法分享筆記筆記
- Unity 協程(Coroutine)原理與用法詳解Unity
- Kotlin Coroutine(協程): 三、瞭解協程Kotlin
- Kotlin Coroutine(協程): 二、初識協程Kotlin
- Android開發中的Kotlin Coroutine VS RxJavaAndroidKotlinRxJava
- 筆記筆記
- QinQ 筆記筆記
- python筆記Python筆記
- Vim筆記筆記
- Mysql 筆記MySql筆記
- HTML筆記HTML筆記
- EMC 筆記筆記
- SpringBoot筆記Spring Boot筆記
- 2024.10.5 筆記筆記
- [筆記]皮囊筆記
- docker 筆記Docker筆記
- 0826 筆記筆記
- sql筆記SQL筆記
- redis筆記Redis筆記
- Typora筆記筆記
- Labview筆記View筆記
- SCRUM筆記Scrum筆記
- MarkDown筆記筆記
- PySimpleGUI筆記GUI筆記
- Maven 筆記Maven筆記
- cython 筆記筆記
- MySQL筆記MySql筆記