Project

General

Profile

Actions

Feature #17851

open

ruby extension for memoryview

Added by dsisnero (Dominic Sisneros) over 3 years ago. Updated over 3 years ago.

Status:
Open
Assignee:
-
Target version:
-
[ruby-core:103739]

Description

add an extension to ruby for memoryview - (just like Fiddle::MemoryView but in ruby assuming Fiddle::MemoryView gets slices)
add a method in Kernel to get initialize a memoryview on an object that is a c memoryview

lets say we want to partially copy a file - minus the first KB

f = File.open('test.txt', 'rb') do |f|
  content = f.read
  content_to_write = memoryview(content)[1024..-1]   # here is what I want new -it will use the same memory as content just pointers
  puts "content length #{content.size} - content_to_write length #{content_to_write.size}"
  File.open('output.txt','wb') do |f2|
     f2.write(content_to_write)                      # if we have #17832 this will write to file without copying 
  end
end

If we have memoryview extension in ruby we can use less memory because we are no longer copying Strings when doing slices
#17831


Related issues 1 (0 open1 closed)

Related to Ruby master - Feature #17831: add slice method to Fiddle::MemoryViewThird Party's IssueActions
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0