Class: Farce::Unsafe::TreeMap
- Inherits:
-
Abstract::TreeMap
- Object
- Abstract::Map
- Abstract::TreeMap
- Farce::Unsafe::TreeMap
- Includes:
- Farce::Unshareable
- Defined in:
- lib/farce/unsafe/tree_map.rb
Overview
Instances of this class are not thread-safe and should not be shared concurrently. This does not just apply to Ractors, but also Threads and possibly Fibers.
Only use them if you are absolutely certain of this and they do not leave a tightly controlled scope. They can provide a memory or performance advantage over their thread-safe counterparts, so they might be useful for hot path optimizations.
Concurrent access, especially modifications, may corrupt the internal state of the object.
A tree map that is not thread-safe and cannot be shared between Ractors.
Method Summary
Methods included from Farce::Unshareable
#initialize, #ractor_shareable?
Methods inherited from Abstract::TreeMap
#[], #[]=, #clear, #compare_keys_by_identity?, #compare_values_by_identity?, #delete, #each, #each_key, #each_value, #empty?, #fetch, #first_key, #getkey, #initialize, #key?, #keys, #last_key, #length, #pop, #shareable_keys?, #shift, #size, #store_if_absent, #values
Methods included from Abstract::DuplicableMap
#compact, #compact_blank, #deep_dup, #duplicable?, #except, #flatten, #invert, #merge, #reject, #reverse_merge, #select, #slice, #stringify_keys, #symbolize_keys, #to_proc, #transform_keys, #transform_values, #with_indifferent_access
Methods inherited from Abstract::Map
#[], #[]=, #as_extended_json, #as_json, #assert_valid_keys, #assoc, #bson_type, #clear, #compare_by_identity?, #compare_keys_by_identity?, #compare_values_by_identity?, #deconstruct_keys, #delete, #dig, #each, #each_key, #each_pair, #each_value, #empty?, #fetch, #fetch_values, #getkey, #has_key?, #key, #key?, #keys, #length, #rassoc, #shareable_keys?, #shareable_values?, #size, #store, #store_if_absent, #to_a, #to_bson, #to_bson_normalized_value, #to_cbor, #to_h, #to_hash, #to_json, #to_msgpack, #to_query, #to_s, #value?, #values_at, #weak_keys?, #weak_values?