I'm wondering if it would be worth the effort to improve Go's vectorization 
optimizations as opposed to creating/improving
its bindings to the various GPUs.

Jon


On Thursday, November 4, 2021 at 7:28:15 AM UTC-7 david....@gmail.com wrote:

> On Thu, Nov 4, 2021 at 5:43 AM quin...@gmail.com <quin...@gmail.com> 
> wrote:
>
>> Hi,
>>
>> Has anyone got any experience of high performance image processing in go?
>>
>> By this I mean doing complex image processing in real time at 4K 
>> resolution on commodity hardware. This is really pushing it using carefully 
>> written C++ but when we tried writing similar code using go slices we go a 
>> significant slowdown (x4 over gcc).
>>
>> We experimented using unsafe pointers thinking it is go's slice range 
>> checking that cause the problems, but surprisingly saw no improvement.
>>
>> Has anyone had success saturating the memory bandwidth using go?  Is my 
>> result a surprise to people? Is it just that gcc's code generator is very 
>> mature and Go's is less so, or should I keep looking for dropoffs in my 
>> code?
>>
> This doesn't particularly surprise me. The Go GC compiler is optimised for 
> fast compile-times and does very limited vectorization.
>
> I think the general advice in cases where one needs better optimization 
> paths has been to use gccgo or gollvm (if possible).
>  
>
>>
>> I haven't looked at the generated assembly yet, but that is my next step.
>>
>> Any opinions?
>>
>> -Steve
>>
>> -- 
>> 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...@googlegroups.com.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/golang-nuts/8419a816-8058-48c1-874b-09a34be0f3fcn%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/golang-nuts/8419a816-8058-48c1-874b-09a34be0f3fcn%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/e2003daa-9f13-48a6-a787-91ec22badb42n%40googlegroups.com.

Reply via email to