code: def _turbo_mapping(initial, pre_size):
      if pre_size:
          size = pre_size
      else:
          try:
              size = 2 * len(initial) or 8
          except Exception:
              # Guess we can't figure out the length. Give up on length hinting,
              # we can always reallocate later.
              size = 8
  
      buckets = size * [None]
  
      if not isinstance(initial, Mapping):
          # Make a dictionary of the initial data if it isn't already,
          # that will save us some job further down since we can assume no
          # key collisions
          initial = dict(initial)
  
      for k, v in initial.items():
          h = hash(k)
          index = h % size
          bucket = buckets[index]
  
          if bucket:
              bucket.append((k, v))
          else:
              buckets[index] = [(k, v)]
  
      return PMap(len(initial), pvector().extend(buckets))
  
imports: from collections.abc import Mapping, Hashable
  from itertools import chain
  from typing import Generic, TypeVar
  from pyrsistent._pvector import pvector
  from pyrsistent._transformations import transform
label_desc: Use image node_id 1 for calling a global function with example usage: _turbo_mapping(initial, pre_size) and returns: PMap