ORPP logo

Hands-On Concurrency with Rust : (Record no. 2355)

MARC details
000 -LEADER
fixed length control field 06632nam a22004573i 4500
001 - CONTROL NUMBER
control field EBC5405682
003 - CONTROL NUMBER IDENTIFIER
control field MiAaPQ
005 - DATE AND TIME OF LATEST TRANSACTION
control field 20240724113213.0
006 - FIXED-LENGTH DATA ELEMENTS--ADDITIONAL MATERIAL CHARACTERISTICS
fixed length control field m o d |
007 - PHYSICAL DESCRIPTION FIXED FIELD--GENERAL INFORMATION
fixed length control field cr cnu||||||||
008 - FIXED-LENGTH DATA ELEMENTS--GENERAL INFORMATION
fixed length control field 240724s2018 xx o ||||0 eng d
020 ## - INTERNATIONAL STANDARD BOOK NUMBER
International Standard Book Number 9781788478359
Qualifying information (electronic bk.)
020 ## - INTERNATIONAL STANDARD BOOK NUMBER
Canceled/invalid ISBN 9781788399975
035 ## - SYSTEM CONTROL NUMBER
System control number (MiAaPQ)EBC5405682
035 ## - SYSTEM CONTROL NUMBER
System control number (Au-PeEL)EBL5405682
035 ## - SYSTEM CONTROL NUMBER
System control number (OCoLC)1039680680
040 ## - CATALOGING SOURCE
Original cataloging agency MiAaPQ
Language of cataloging eng
Description conventions rda
-- pn
Transcribing agency MiAaPQ
Modifying agency MiAaPQ
050 #4 - LIBRARY OF CONGRESS CALL NUMBER
Classification number QA76.73.R87 .T768 2018
082 0# - DEWEY DECIMAL CLASSIFICATION NUMBER
Classification number 005.133
100 1# - MAIN ENTRY--PERSONAL NAME
Personal name L. Troutwine, Brian.
245 10 - TITLE STATEMENT
Title Hands-On Concurrency with Rust :
Remainder of title Confidently Build Memory-Safe, Parallel, and Efficient Software in Rust.
250 ## - EDITION STATEMENT
Edition statement 1st ed.
264 #1 - PRODUCTION, PUBLICATION, DISTRIBUTION, MANUFACTURE, AND COPYRIGHT NOTICE
Place of production, publication, distribution, manufacture Birmingham :
Name of producer, publisher, distributor, manufacturer Packt Publishing, Limited,
Date of production, publication, distribution, manufacture, or copyright notice 2018.
264 #4 - PRODUCTION, PUBLICATION, DISTRIBUTION, MANUFACTURE, AND COPYRIGHT NOTICE
Date of production, publication, distribution, manufacture, or copyright notice ©2018.
300 ## - PHYSICAL DESCRIPTION
Extent 1 online resource (453 pages)
336 ## - CONTENT TYPE
Content type term text
Content type code txt
Source rdacontent
337 ## - MEDIA TYPE
Media type term computer
Media type code c
Source rdamedia
338 ## - CARRIER TYPE
Carrier type term online resource
Carrier type code cr
Source rdacarrier
505 0# - FORMATTED CONTENTS NOTE
Formatted contents note Cover -- Title Page -- Copyright and Credits -- Dedication -- Packt Upsell -- Contributors -- Table of Contents -- Preface -- Chapter 1: Preliminaries - Machine Architecture and Getting Started with Rust -- Technical requirements -- The machine -- The CPU -- Memory and caches -- Memory model -- Getting set up -- The interesting part -- Debugging Rust programs -- Summary -- Further reading -- Chapter 2: Sequential Rust Performance and Testing -- Technical requirements -- Diminishing returns -- Performance -- Standard library HashMap -- Naive HashMap -- Testing with QuickCheck -- Testing with American Fuzzy Lop -- Performance testing with Criterion -- Inspecting with the Valgrind Suite -- Inspecting with Linux perf -- A better naive HashMap -- Summary -- Further reading -- Chapter 3: The Rust Memory Model - Ownership, References and Manipulation -- Technical requirements -- Memory layout -- Pointers to memory -- Allocating and deallocating memory -- The size of a type -- Static and dynamic dispatch -- Zero sized types -- Boxed types -- Custom allocators -- Implementations -- Option -- Cell and RefCell -- Rc -- Vec -- Summary -- Further reading -- Chapter 4: Sync and Send - the Foundation of Rust Concurrency -- Technical requirements -- Sync and Send -- Racing threads -- The flaw of the Ring -- Getting back to safety -- Safety by exclusion -- Using MPSC -- A telemetry server -- Summary -- Further reading -- Chapter 5: Locks - Mutex, Condvar, Barriers and RWLock -- Technical requirements -- Read many, write exclusive locks - RwLock -- Blocking until conditions change - condvar -- Blocking until the gang's all here - barrier -- More mutexes, condvars, and friends in action -- The rocket preparation problem -- The rope bridge problem -- Hopper-an MPSC specialization -- The problem -- Hopper in use -- A conceptual view of hopper -- The deque.
505 8# - FORMATTED CONTENTS NOTE
Formatted contents note The Receiver -- The Sender -- Testing concurrent data structures -- QuickCheck and loops -- Searching for crashes with AFL -- Benchmarking -- Summary -- Further reading -- Chapter 6: Atomics - the Primitives of Synchronization -- Technical requirements -- Linearizability -- Memory ordering - happens-before and synchronizes-with -- Ordering::Relaxed -- Ordering::Acquire -- Ordering::Release -- Ordering::AcqRel -- Ordering::SeqCst -- Building synchronization -- Mutexes -- Compare and set mutex -- An incorrect atomic queue -- Options to correct the incorrect queue -- Semaphore -- Binary semaphore, or, a less wasteful mutex -- Summary -- Further reading -- Chapter 7: Atomics - Safely Reclaiming Memory -- Technical requirements -- Approaches to memory reclamation -- Reference counting -- Tradeoffs -- Hazard pointers -- A hazard-pointer Treiber stack -- The hazard of Nightly -- Exercizing the hazard-pointer Treiber stack -- Tradeoffs -- Epoch-based reclamation -- An epoch-based Treiber stack -- crossbeam_epoch::Atomic -- crossbeam_epoch::Guard::defer -- crossbeam_epoch::Local::pin -- Exercising the epoch-based Treiber stack -- Tradeoffs -- Summary -- Further reading -- Chapter 8: High-Level Parallelism - Threadpools, Parallel Iterators and Processes -- Technical requirements -- Thread pooling -- Slowloris - attacking thread-per-connection servers -- The server -- The client -- A thread-pooling server -- Looking into thread pool -- The Ethernet sniffer -- Iterators -- Smallcheck iteration -- rayon - parallel iterators -- Data parallelism and OS processes - evolving corewars players -- Corewars -- Feruscore - a Corewars evolver -- Representing the domain -- Exploring the source -- Instructions -- Individuals -- Mutation and reproduction -- Competition - calling out to pMARS -- Main -- Running feruscore -- Summary -- Further reading.
505 8# - FORMATTED CONTENTS NOTE
Formatted contents note Chapter 9: FFI and Embedding - Combining Rust and Other Languages -- Embedding C into Rust - feruscore without processes -- The MARS C interface -- Creating C-structs from Rust -- Calling C functions -- Managing cross-language ownership -- Running the simulation -- Fuzzing the simulation -- The feruscore executable -- Embedding Lua into Rust -- Embedding Rust -- Into C -- The Rust side -- The C side -- Into Python -- Into Erlang/Elixir -- Summary -- Further reading -- Chapter 10: Futurism - Near-Term Rust -- Technical requirements -- Near-term improvements -- SIMD -- Hex encoding -- Futures and async/await -- Specialization -- Interesting projects -- Fuzzing -- Seer, a symbolic execution engine for Rust -- The community -- Should I use unsafe? -- Summary -- Further reading -- Other Books You May Enjoy -- Index.
520 ## - SUMMARY, ETC.
Summary, etc. Writing safe and correct parallel programs is tough. Reasoning about concurrent memory modification is tough; efficiently exploiting the modern computing environment (with its multi-layered caches and deep execution pipelines) is also tough. Most systems programming languages add a further complication: unsafe memory access. The burden on you,.
588 ## - SOURCE OF DESCRIPTION NOTE
Source of description note Description based on publisher supplied metadata and other sources.
590 ## - LOCAL NOTE (RLIN)
Local note Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2024. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
650 #0 - SUBJECT ADDED ENTRY--TOPICAL TERM
Topical term or geographic name entry element Rust (Computer programming language).
650 #0 - SUBJECT ADDED ENTRY--TOPICAL TERM
Topical term or geographic name entry element Programming languages.
655 #4 - INDEX TERM--GENRE/FORM
Genre/form data or focus term Electronic books.
776 08 - ADDITIONAL PHYSICAL FORM ENTRY
Relationship information Print version:
Main entry heading L. Troutwine, Brian
Title Hands-On Concurrency with Rust
Place, publisher, and date of publication Birmingham : Packt Publishing, Limited,c2018
International Standard Book Number 9781788399975
797 2# - LOCAL ADDED ENTRY--CORPORATE NAME (RLIN)
Corporate name or jurisdiction name as entry element ProQuest (Firm)
856 40 - ELECTRONIC LOCATION AND ACCESS
Uniform Resource Identifier <a href="https://ebookcentral.proquest.com/lib/orpp/detail.action?docID=5405682">https://ebookcentral.proquest.com/lib/orpp/detail.action?docID=5405682</a>
Public note Click to View

No items available.

© 2024 Resource Centre. All rights reserved.