Never mind on the “what is pmem” as I found the VMware docs. I am curious though why you need specialized runtime support rather than mmap on a block device? I am assuming that the api is slightly easier to use from a standard Go perspective but given the variable performance characteristics of pmem I don’t see why it shouldn’t be treated like any other external resource.
> On Apr 3, 2019, at 5:47 PM, Robert Engels <reng...@ix.netcom.com> wrote: > > I think the project needs to be distributed as a patch to the Go codebase - > too much to review/maintain for security controls. > > Also, I’m curious about the Api. In reviewing the example, it looks no > different than any ORM - just flatter -and these don’t need a customized > runtime. > > What would be the advantage of using the Api directly rather than using Redis > (with the support there)? > > No criticism, just not obvious to me. Maybe a link describing the persistent > memory capabilities in detail? > >> On Apr 3, 2019, at 5:31 PM, 'Jerrin Shaji George' via golang-nuts >> <golang-nuts@googlegroups.com> wrote: >> >> Hi, >> >> I am part of a small team at VMware working on projects related to persistent >> memory (others in CC). We have recently been working on adding persistent >> memory >> support to the Go programming language, and I wanted to spread the word about >> couple of these projects. >> >> 1) Go-pmem-transaction >> The go-pmem-transaction project introduces a new programming model for >> developing applications in Go for persistent memory. It consists of two >> packages >> - pmem and transaction. >> >> The pmem package provides methods to initialize persistent memory and an >> interface to set and retrieve objects in persistent memory. The transaction >> package provides undo and redo transaction logging APIs to support >> crash-consistent updates to persistent memory data. >> >> Project page - https://github.com/vmware/go-pmem-transaction >> >> 2) Go-pmem >> The Go-pmem project adds native persistent memory support to Go. >> Some of the features of the persistent memory support added to Go are: >> * Support for persistent memory allocations >> * Garbage collector now collects objects from persistent >> heap and volatile >> heap >> * Runtime automatically swizzles pointers if the memory >> mapping address >> changes on an application restart >> * The persistent memory heap is dynamically sized and >> supports automatic >> heap growth depending on memory demand >> >> Project page - https://github.com/jerrinsg/go-pmem >> >> The project pages contains links to further documentation. We welcome the >> community to try out these projects and send any feedback our way! >> >> Also see the blog post at >> https://blogs.vmware.com/opensource/2019/04/03/persistent-memory-with-go/ >> >> Thanks, >> Jerrin >> -- >> You received this message because you are subscribed to the Google Groups >> "golang-nuts" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to golang-nuts+unsubscr...@googlegroups.com. >> For more options, visit https://groups.google.com/d/optout. > -- > You received this message because you are subscribed to the Google Groups > "golang-nuts" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to golang-nuts+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.