Designing an ultra low-overhead multithreading runtime for Nim
Designing an ultra low-overhead multithreading runtime for Nim Mamy Ratsimbazafy mamy@numforge.co Weave https://github.com/mratsim/weave Hello! I am Mamy Ratsimbazafy During the day blockchain/Ethereum refactoring of the internals 3 Agenda ◇ Understanding the design space ◇ Hardware and software multithreading: definitions and use-cases ◇ Parallel APIs ◇ Sources of overhead and runtime design ◇ Minimum threads -> N hardware threads The same distinctions can be done at a multithreaded language or multithreading runtime level. The problem 8 How to schedule M tasks on N hardware threads? Latency vs0 码力 | 37 页 | 556.64 KB | 1 年前3Back to Basics: Lambda Expressions
categories) ❏ Modern C++ Data Types (move semantics) ❏ CsString library (unicode) ❏ Multithreading in C++ ❏ Multithreading using libGuarded ❏ Signals and Slots ❏ Templates in the Real World ❏ What’s in ● CsString Library ○ standalone unicode aware string library ● CsLibGuarded ○ standalone multithreading library for shared data 46Applications ● KitchenSink ○ contains 30 demos and links with almost0 码力 | 48 页 | 175.89 KB | 5 月前3Overload Resolution
char8_t ❏ Multithreading in C++ ❏ Modern C++ Threads ❏ C++ Memory ModelPresentations - www.youtube.com/copperspice ❏ Why CopperSpice, Why DoxyPress ❏ Compile Time Counter ❏ Multithreading using CsLibGuarded ● CsString Library ○ standalone unicode aware string library ● CsLibGuarded ○ standalone multithreading library for shared data 52Libraries ● CsCrypto ○ C++ interface to the Botan and OpenSSL libraries0 码力 | 55 页 | 209.57 KB | 5 月前3Making Games Start Fast: A Story About Concurrency
2.7 starts in 54s ◉ Stellaris 2.8 beta starts in 21s ◉ Same amount of work ◉ Both rely on multithreading 112.7 (Old) Startup CPU Usage2.8 (New) Startup CPU UsageStartup Breakdown ◉ Enumerate asset tracks from zips ◉ Can we optimize unzip() further? ◉ PhysFS still has a lock per archive, so multithreading might be tricky 67Loading audio ◉ How many music tracks do we need to display loading screen0 码力 | 76 页 | 2.22 MB | 5 月前3Spring Framework 1.2.7 Changelog
AbstractMonitoringInterceptor * fixed DebugInterceptor to properly synchronize access to its count field in a multithreading environment Package org.springframework.beans * BeanWrapperImpl keeps registered editors in fixed ResponseTimeMonitorImpl to properly synchronize access to its instance variables in a multithreading environment Package org.springframework.web * used NestedServletException wherever a root cause ManagedList and ManagedMap resolution for prototypes in AbstractBeanFactory * fixed potential multithreading issue on nested prototype resolution in AbstractBeanFactory * dependent beans (with corresponding0 码力 | 87 页 | 248.22 KB | 1 年前3Spring Framework 1.2.8 Changelog
AbstractMonitoringInterceptor * fixed DebugInterceptor to properly synchronize access to its count field in a multithreading environment Package org.springframework.beans * BeanWrapperImpl keeps registered editors in fixed ResponseTimeMonitorImpl to properly synchronize access to its instance variables in a multithreading environment Package org.springframework.web * used NestedServletException wherever a root cause ManagedList and ManagedMap resolution for prototypes in AbstractBeanFactory * fixed potential multithreading issue on nested prototype resolution in AbstractBeanFactory * dependent beans (with corresponding0 码力 | 89 页 | 254.65 KB | 1 年前3Spring Framework 1.2.x Changelog
AbstractMonitoringInterceptor * fixed DebugInterceptor to properly synchronize access to its count field in a multithreading environment Package org.springframework.beans * BeanWrapperImpl keeps registered editors in fixed ResponseTimeMonitorImpl to properly synchronize access to its instance variables in a multithreading environment Package org.springframework.web * used NestedServletException wherever a root cause ManagedList and ManagedMap resolution for prototypes in AbstractBeanFactory * fixed potential multithreading issue on nested prototype resolution in AbstractBeanFactory * dependent beans (with corresponding0 码力 | 94 页 | 267.57 KB | 1 年前3Spring Framework 2.0.0 Changelog
getCount()" accessor * fixed DebugInterceptor to properly synchronize access to its count field in a multithreading environment Package org.springframework.beans * factored out extended PropertyAccessor and fixed ResponseTimeMonitorImpl to properly synchronize access to its instance variables in a multithreading environment Package org.springframework.validation * added further accessors to Errors interface:0 码力 | 33 页 | 91.32 KB | 1 年前3Spring Framework 2.0.1 Changelog
getCount()" accessor * fixed DebugInterceptor to properly synchronize access to its count field in a multithreading environment Package org.springframework.beans * factored out extended PropertyAccessor and fixed ResponseTimeMonitorImpl to properly synchronize access to its instance variables in a multithreading environment Package org.springframework.validation * added further accessors to Errors interface:0 码力 | 37 页 | 103.65 KB | 1 年前3Spring Framework 2.0.2 Changelog
getCount()" accessor * fixed DebugInterceptor to properly synchronize access to its count field in a multithreading environment Package org.springframework.beans * factored out extended PropertyAccessor and fixed ResponseTimeMonitorImpl to properly synchronize access to its instance variables in a multithreading environment Package org.springframework.validation * added further accessors to Errors interface:0 码力 | 41 页 | 115.44 KB | 1 年前3
共 303 条
- 1
- 2
- 3
- 4
- 5
- 6
- 31