Unless it is an in memory database, I would expect the IO costs to dwarf the 
cpu costs, but I guess a lot depends on how you define ‘analytical processing’.

In my experience, “out of the box” performance of Go routines in IO processing 
is outstanding.

For the cpu bound case, I think with threads, cpu assignments (cpuset), etc. 
you can probably create a higher performing system in some cases - but it’s a 
lot of work.

Even without that, I think the scheduler in most Linux systems is more mature 
than the Go scheduler, and makes better choices for cache affinity, etc. It’s 
very hard to design a high performance cpu bound system that runs on a general 
purpose OS or language/platform. Without knowledge of the olap db design it is 
very hard to make a recommendation.

This is some suggested reading to help you in your journey 
https://dave.cheney.net/high-performance-go-workshop/dotgo-paris.html

> On Feb 2, 2021, at 12:07 AM, 颜文泽 <nnsmgs...@gmail.com> wrote:
> 
> I don't know much about the internal implementation of golang, sorry. I was a 
> c programmer and I tried to implement the original logic (olap database) by 
> using routine as a thread replacement. But I found that I would encounter 
> bottlenecks, and I don't know how to solve them. Maybe I should study the 
> implementation of routine before I can write the right code.
> 
> 在2021年2月2日星期二 UTC+8 下午12:21:44<ren...@ix.netcom.com> 写道:
> You wrote “I found that cache misses from routines switching is also a 
> headache”. 
> 
> They would not be switching if they are cpu bound and there are less of than 
> number of cpus. Remember too that you need some % of the cpus to execute the 
> runtime GC code and other housekeeping. 
> 
> > On Feb 1, 2021, at 10:04 PM, 颜文泽 <nnsm...@gmail.com 
> > <applewebdata://17718051-0DC0-4CA0-9D2D-F99B85591934>> wrote: 
> > 
> > I found that cache misses from routines switching is also a headache 
> 
> 
> -- 
> 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 
> <mailto:golang-nuts+unsubscr...@googlegroups.com>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/golang-nuts/35bccad0-64a9-4796-bc3f-a9cdb8c82961n%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/golang-nuts/35bccad0-64a9-4796-bc3f-a9cdb8c82961n%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/37333ACA-7921-433B-B400-493A27B42754%40ix.netcom.com.

Reply via email to