‹ BackHN Continuity

Thread

Platform-independent SIMD in Go

414 points · 152 comments · yurivish

  1. fatty_patty89 · · focus · HN ↗
    The problem with Go isn't performance but with the C/C++ interop overhead, even with the "30% less overhead" from a few updates ago which isnt true for 99% of cases, it isnt enough
    1. victorbjorklund · · focus · HN ↗
      Why is that the case? I don’t know low level programming so why is Go limited in interop with C?
      1. fatty_patty89 · · focus · HN ↗
        its not limited but it has overhead because of the memory model of go doesnt match the C one so there has to be some sort of rerodering being done, that's what i understood atleast, and theres also the go concurrency
        1. assbuttbuttass · · focus · HN ↗
          The main problem is that Goroutine stacks are small, starting at 2KiB. When you're calling a C function, the Go runtime can't know how much stack space the C function will use, so it has to defensively expand the stack in a lot of cases
    2. pjmlp · · focus · HN ↗
      Use Assembly instead of CGO, isn't that scary, back in the 8 bit days we were coding Assembly aged 10, on our Spectrum, C64, Atari, Apple, Acorn, MSX,....
Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.