code: def test_arrow_size(ray_start_regular_shared):
      b = ArrowBlockBuilder()
      assert b.get_estimated_memory_usage() == 0
      b.add(ARROW_SMALL_VALUE)
      assert_close(b.get_estimated_memory_usage(), 118)
      b.add(ARROW_SMALL_VALUE)
      assert_close(b.get_estimated_memory_usage(), 236)
      for _ in range(8):
          b.add(ARROW_SMALL_VALUE)
      assert_close(b.get_estimated_memory_usage(), 1180)
      for _ in range(90):
          b.add(ARROW_SMALL_VALUE)
      assert_close(b.get_estimated_memory_usage(), 11800)
      for _ in range(900):
          b.add(ARROW_SMALL_VALUE)
      assert_close(b.get_estimated_memory_usage(), 118000)
      assert b.build().num_rows == 1000
  
file_path: ray/python/ray/data/tests/test_size_estimation.py
imports: import os
  import uuid
  import pytest
  import ray
  from ray.data._internal.arrow_block import ArrowBlockBuilder
  from ray.tests.conftest import *
label_desc: Use image node_id 2 for calling a global function with example usage: test_arrow_size(ray_start_regular_shared) without return types