<div dir="auto">This looks like it has a pretty large overhead when accessing multiple values. I think it would be more beneficial to have 1 object which represents the whole range like a list. And is able to subdivide like a memory segment. It would practically be a user friendly wrapper for memory segments. The biggest challenge with an api like this is<div dir="auto">1. Primitives inability to be efficiently generic and 2. Integration with the whole jdk. The first could be solved in in 2 ways: Valhalla delivers generics over primitives (still in development) or old school with a ton of duplicate code.</div><div dir="auto">The second problem would be a group effort. To effectively use this kind of api it would need integration in strings, buffers, arrays, lists, streams and everywhere you might find a continuous block of data. This would require it to become an agreed goal to create it. Otherwise the effort would be wasted. </div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Nov 7, 2022, 18:34 Remi Forax <<a href="mailto:forax@univ-mlv.fr">forax@univ-mlv.fr</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="font-family:arial,helvetica,sans-serif;font-size:12pt;color:#000000"><div>It's on my TODO list :)<br></div><div><br></div><div>You create an interface<br></div><div>  interface MutableSpan {<br></div><div>    int value();<br></div><div>    void value(int value);</div><div>  }<br></div><div><br></div><div>and you can map it to any Panama memory because this is implemented as value class with two fields, a memory segment (or whatever the actual name) and an index.</div><div>Then you need to see a contiguous space of memory as a List of span objects where the value class instances representing the value are created on the fly when asked.</div><div><br></div><div>Rémi<br></div><div><br></div><hr id="m_-8158454920494107781zwchr"><div><blockquote style="border-left:2px solid #1010ff;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt"><b>From: </b>"Red IO" <<a href="mailto:redio.development@gmail.com" target="_blank" rel="noreferrer">redio.development@gmail.com</a>><br><b>To: </b>"panama-dev" <<a href="mailto:panama-dev@openjdk.org" target="_blank" rel="noreferrer">panama-dev@openjdk.org</a>><br><b>Sent: </b>Monday, November 7, 2022 5:59:28 PM<br><b>Subject: </b>Feasibility of a Span class in java<br></blockquote></div><div><blockquote style="border-left:2px solid #1010ff;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt"><div dir="auto">Following the development and plans for both Panama's memory access api and the required changes provided by Valhalla while looking at c#'s directions for the last few years I was wondering if writing a class that serves as a universal and easy-to-use interface for accessing memory of all sorts of "value based" types inspired by c#' s Span struct would be beneficial for Java. Of course this assumes the completion of the memory api (panama) , the generic unification (Valhalla) and custom value based types (Valhalla). The idea is to speed up array and string manipulation by using short lived slicing objects (Span). I already wrote a poorly implemented slicer for strings and saw incredible performance gains in comon operations like substring and split. </div><br></blockquote></div></div></div></blockquote></div>