[go-nuts] Compile Go application with multiple versions of C library

2019-10-08 Thread Vitaly Isaev
Suggest we're implementing a very specific Go application like data migrator (for example, the one that transfers data from old database to new database with different data types). Therefore, this application must be compiled with two different versions of one library (e.g. v1 and v2). It seems

[go-nuts] Does it make sense to make expensive syscalls from different goroutines?

2017-03-18 Thread Vitaly Isaev
I would appreciate it if someone could clarify how does Go runtime operates under this circumstances: Assume that application does some heavy lifting with multiple file descriptors (e.g., opening - writing data - syncing - closing), what actually happens to Go runtime? Does it block all the

Re: [go-nuts] Does it make sense to make expensive syscalls from different goroutines?

2017-03-18 Thread Vitaly Isaev
суббота, 18 марта 2017 г., 14:37:11 UTC+3 пользователь Konstantin Khomoutov написал: > > On Sat, 18 Mar 2017 03:50:39 -0700 (PDT) > Vitaly Isaev > wrote: > > [...] > > Assume that application does some heavy lifting with multiple file > > descriptors (e.g., op

[go-nuts] Go: pointer bit stealing technique

2021-05-06 Thread Vitaly Isaev
In a well-known book "The Art of Multiprocessor Programming" by Herlihy, Shavit some of lock-free and wait-free algorithms utilize Java's template AtomicMarkableReference type. It allows to perform single atomic CAS operation on the pair consisting of T reference and boolean mark. There is n

[go-nuts] How to interpret the HeapReleased decrease?

2022-06-18 Thread Vitaly Isaev
Hi everyone, I've read the thread https://github.com/golang/go/issues/33376, but still I can't figure out what does it mean when HeapReleased value is decreasing. When the Go runtime returns the memory to the OS, isn't it an irreversible process? So why does this indicator have to go down? Or

Re: [go-nuts] How to interpret the HeapReleased decrease?

2022-06-19 Thread Vitaly Isaev
Ian, thank you for the clarification, but what if this happens on Linux with Go >= 1.16 (where MADV_DONTNEED is default)? воскресенье, 19 июня 2022 г. в 03:02:54 UTC+3, Ian Lance Taylor: > On Sat, Jun 18, 2022 at 6:35 AM Vitaly Isaev wrote: > > > > Hi everyone, I've r

[go-nuts] Go allocator: allocates arenas, reclaims pages?

2022-06-20 Thread Vitaly Isaev
Go allocator requests memory from OS in large arenas (on Linux x86_64 the size of arena is 64Mb), then allocator splits each arena to 8 Kb pages, than merges pages in spans of different sizes (from 8kb to 80kb size according to https://go.dev/src/runtime/sizeclasses.go). This process is well de

[go-nuts] Re: Go allocator: allocates arenas, reclaims pages?

2022-06-21 Thread Vitaly Isaev
Michael, many thanks for such a comprehensive description! вторник, 21 июня 2022 г. в 04:50:23 UTC+3, Michael Knyszek: > Just to clarify, when I said "publicly visible" I meant via blog posts and > talks. There are a few design >

[go-nuts] Re: Golang wrapper for wolfSSL

2022-06-22 Thread Vitaly Isaev
Hi! Thanks for announcing, could you please clarify if WolfSSL supports BLAKE3 and are there any benchmarks comparing with default BLAKE3 implementation? среда, 22 июня 2022 г. в 02:10:54 UTC+3, Lealem Amedie: > Checkout the blog announcing the Golang wrapper for the wolfSSL SSL/TLS > crypto