Working with Asynchrony Generically: A Tour of C++ Executors
accept_request(); ex::sender auto process_request(request_t); extern unifex::static_thread_pool low_latency; extern unifex::static_thread_pool workers; ex::sender auto accept_and_process_requests() { return get_scheduler()) | ex::then([](auto request) { process_request(request); }) | unifex::repeat_effect(); } Accept requests on low-latency threads. Process the requests on the worker threads.16 EXAMPLE: accept_request(); ex::sender auto process_request(request_t); extern unifex::static_thread_pool low_latency; extern unifex::static_thread_pool workers; unifex::taskaccept_and_process_requests() { while (true) 0 码力 | 121 页 | 7.73 MB | 5 月前3C++23: An Overview of Almost All New and Updated Features
Copy is a prvalue Example: void process(int&& value) { std::println("{}", value); } void process_all(const std::vector& data) { for (auto& i : data) { process(auto(i)); } }25 Agenda C++23 Consider: int Process(std::function f) { return f() * 2; } This can be called as follows: std::print("{}", Process([] { return 21; })); // 42 But this fails: std::cout << Process([p = s std::move_only_function<> C++23: int Process(std::move_only_function f) { return f() * 2; } This can now be called as follows: std::print("{}", Process([] { return 21; })); 0 码力 | 105 页 | 759.96 KB | 5 月前3No Silver Bullet – Essence and Accident in Software Engineering
minds are deprived of some of its most powerful conceptual tools • This lack not only impedes the process of design within one mind, it severely hinders communication among mindsPast Breakthroughs Solved Enthusiasm jumps when there is a running system, even a simple one • One always has, at ever stage in the process, a working systemConclusionEssential Complexity vs. Accidental Complexity • Essential Complexity should first be made to run • Bit-by-bit it is fleshed out • One always has, at every stage in the process, a working system • Enthusiasm jumps when there is a running system, even a simple one0 码力 | 35 页 | 1.43 MB | 5 月前3C++20's
2020 • Lecturer at the University of Washington • Cute pup parent6 Agenda • Part I: Development Process • Implementing in the Open • Organization of Work • Part II: Calendrical Types • Part III: Clocks [time.zone] • IANA database challenges • Part VI: Conclusion7 Part I: Development Process8 Development Process • Implemented in our microsoft/STL open-source GitHub repo with the help of our amazing0 码力 | 55 页 | 8.67 MB | 5 月前3Making Libraries Consumable for Non-C++ Developers
What the vendor providesA quick note on the details in this talk. Where is the process boundary? Focus on in-process interoperability.Run down of some approaches Just be like C? – post-1972 Common Object0 码力 | 29 页 | 1.21 MB | 5 月前3C++20 STL Features: 1 Year of Development on GitHub
Changelog • Infeasible: Look at commit history between releases • Old process: Record commits, write them up later • New process: Merge PR, add Changelog entry immediately • Advice for Reviewing Pull0 码力 | 45 页 | 702.09 KB | 5 月前3Coaching Agile Teams
Teaching Coaching Technical Mastery Business Mastery Transformation Mastery Content Authority Process Authority *Adopted from Agile Coaching Institute Develop them all! Let your style change!Agile0 码力 | 15 页 | 608.54 KB | 5 月前3绕过conntrack,使用eBPF增强 IPVS优化K8s网络性能
caused by conntrack • Some bugs How to optimize • Guidelines • Use less CPU instructions to process each packet • Don’t monopolize CPU • Stability and more functionalities Alternative solutions?0 码力 | 24 页 | 1.90 MB | 1 年前3使用硬件加速Tokio - 戴翔
Building on top of Rust, Tokio provides a multi-threaded, work-stealing scheduler. Applications can process hundreds of thousands of requests per second with minimal overhead. Fast async/await reduces0 码力 | 17 页 | 1.66 MB | 1 年前3陈东 - 利用Rust重塑移动应用开发-230618
expose the function to IOS/Android? - Hard to maintain - Hard to define the return value - Hard to process the error? Panic? App Crash ? Treat the rust module as an independent service - Command <> Response0 码力 | 22 页 | 2.10 MB | 1 年前3
共 14 条
- 1
- 2
相关搜索词
WorkingwithAsynchronyGenericallyTourofC++Executors23AnOverviewAlmostAllNewandUpdatedFeaturesNoSilverBulletEssenceAccidentinSoftwareEngineering20ChronoMakingLibrariesConsumableforNonDevelopersSTLYearDevelopmentonGitHubCoachingAgileTeams绕过conntrack使用eBPF增强IPVS优化K8s网络性能戴翔硬件加速硬件加速Tokio陈东利用Rust重塑移动应用开发230618