Class: Farce::Unsafe::TreeMap

Inherits:
Abstract::TreeMap show all
Includes:
Farce::Unshareable
Defined in:
lib/farce/unsafe/tree_map.rb

Overview

Note:

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?