[ https://issues.apache.org/jira/browse/SPARK-22838?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Saisai Shao resolved SPARK-22838. --------------------------------- Resolution: Invalid > Avoid unnecessary copying of data > --------------------------------- > > Key: SPARK-22838 > URL: https://issues.apache.org/jira/browse/SPARK-22838 > Project: Spark > Issue Type: Improvement > Components: Spark Core > Affects Versions: 2.2.1 > Reporter: Xianyang Liu > Priority: Major > > If we read data from FileChannel to HeapByteBuffer, there is a need to copy > the data from the off-heap to the on-heap, you can see the follow code: > ```java > static int read(FileDescriptor var0, ByteBuffer var1, long var2, > NativeDispatcher var4) throws IOException { > if(var1.isReadOnly()) { > throw new IllegalArgumentException("Read-only buffer"); > } else if(var1 instanceof DirectBuffer) { > return readIntoNativeBuffer(var0, var1, var2, var4); > } else { > ByteBuffer var5 = Util.getTemporaryDirectBuffer(var1.remaining()); > int var7; > try { > int var6 = readIntoNativeBuffer(var0, var5, var2, var4); > var5.flip(); > if(var6 > 0) { > var1.put(var5); > } > var7 = var6; > } finally { > Util.offerFirstTemporaryDirectBuffer(var5); > } > return var7; > } > } > ``` -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org