Github user tejasapatil commented on a diff in the pull request:

    https://github.com/apache/spark/pull/19222#discussion_r144457126
  
    --- Diff: 
common/unsafe/src/main/java/org/apache/spark/unsafe/memory/MemoryBlock.java ---
    @@ -17,47 +17,168 @@
     
     package org.apache.spark.unsafe.memory;
     
    -import javax.annotation.Nullable;
    -
     import org.apache.spark.unsafe.Platform;
     
    +import javax.annotation.Nullable;
    +
     /**
    - * A consecutive block of memory, starting at a {@link MemoryLocation} 
with a fixed size.
    + * A declaration of interfaces of MemoryBlock classes .
      */
    -public class MemoryBlock extends MemoryLocation {
    +public abstract class MemoryBlock {
    +  @Nullable
    +  protected final Object obj;
     
    -  private final long length;
    +  protected final long offset;
    +
    +  protected final long length;
     
       /**
        * Optional page number; used when this MemoryBlock represents a page 
allocated by a
    -   * TaskMemoryManager. This field is public so that it can be modified by 
the TaskMemoryManager,
    -   * which lives in a different package.
    +   * TaskMemoryManager. This field can be updated using setPageNumber 
method so that
    --- End diff --
    
    I think keeping it public would be more performant VS mutating the field 
using a method. I know that this using method is better way in terms of design 
but there are places in codebase where we do this for solely for perf. reasons



---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to