Re: [go-nuts] Register-based ABI benchmarks

2022-02-04 Thread Didier Spezia
an Lance Taylor wrote: > > > > On Thu, Feb 3, 2022 at 7:21 AM Didier Spezia > wrote: > >> > >> It seems Aarch64 benefits more from the register-based ABI than x86_64. > >> I don''t see really why. Does anyone have a clue? > > > > My view is th

[go-nuts] Register-based ABI benchmarks

2022-02-03 Thread Didier Spezia
We are using our own benchmark to evaluate the performance of different CPU models of cloud providers. https://github.com/AmadeusITGroup/cpubench1A One point we have realized is the results of such benchmark can be biased depending on the version of the Go compiler. For instance, the

[go-nuts] Re: What explains this 6x slowdown ?

2021-03-27 Thread Didier Spezia
I suppose the difference between int and int32 comes from the behavior of the modulo strength reduction mechanism. With int (=int64), n%1 is compiled as: MOVQ $0xabcc77118461cefd, AX MOVQ #n, CX IMULQ CX ADDQ CX, DX SARQ $0x1a, DX MOVQ CX, BX SARQ $0x3f, CX SUBQ CX, DX IMULQ

[go-nuts] Re: What explains this 6x slowdown ?

2021-03-25 Thread Didier Spezia
I believe this is simply due to the 64 bits integer division. 1. Contrary to Java or most C implementations int is 64 bits with Go on AMD64, and not 32 bits. Integer division on 64 bits is more expensive than for 32 bits. 2. When array_length is known at compile time, the compiler can replace

[go-nuts] Re: mount remote storage without FUSE

2020-11-27 Thread Didier Spezia
One possibility is to use the 9P client of the kernel and implements a 9P server in Go - there are a few 9P libraries for Go around. I doubt it will be more efficient than FUSE though, and btw FUSE is largely based on the ideas promoted by 9P. Another possibility is to use the ndb client of the

[go-nuts] Re: GOMAXPROCS > num of CPU

2019-12-21 Thread Didier Spezia
You may be interested in this thread started by the Badger people: https://groups.google.com/d/msg/golang-nuts/jPb_h3TvlKE/qdoHhxXeAwAJ Apparently it can be used to increase the throughput of concurrent disk I/O heavy programs. Regards, Didier. On Thursday, December 5, 2019 at 10:51:50 AM

[go-nuts] Re: How to do OS Authentication in Oracle with Go?

2017-04-22 Thread Didier Spezia
The OP probably means connecting to Oracle from an "externally identified" user. Oracle can delegate the authentication to the OS providing the connection is done from a given OS user (already authenticated by the system). Normally, with OCI, you can connect by passing empty strings for user

[go-nuts] Re: Is there something wrong with performance of select in a for loop

2017-02-06 Thread Didier Spezia
A few remarks: 1/ If you want to compare to node.js, please remove the CPU profiling option from the go program - it comes with some overhead. 2/ The comparison is not really fair. node.js implements a unique event loop (everything runs on the same thread). Go generally schedules the

[go-nuts] Re: Weird behavior C.GoString

2016-12-01 Thread Didier Spezia
Sorry for the silly question, but since you do not have any \n or separator after the %X, are you sure the extra characters do not come from the next fmt.Printf in your code? On Thursday, December 1, 2016 at 5:25:41 PM UTC+1, Felipe Santos wrote: > > Hi, > > I am trying to link C++ shared lib

[go-nuts] Re: goroutine scheduler is a trap?????!!!!!

2016-11-25 Thread Didier Spezia
Any non trivial program is scalable up a certain point. In your code, you may have some contention. It can be physical (CPU, memory, network, disks, etc ...) or logical (mutexes, channels, shared memory, etc ...) If it is not in your own code, then perhaps it may be in the packages you use,