One more question, is it effective to use vtune to tune golang. I am afraid that vtune is not suitable, although intel claims to be effective. 在2021年2月2日星期二 UTC+8 下午2:32:40<颜文泽> 写道:
> Thanks, it's not memory db, but my current test is not involving io. I'll > take time to look at your information, thanks a lot. Also I found that many > of the functions with high cpi rate are runtime functions, is the overhead > of these functions unavoidable?The following diagram is for a single > routine: > [image: 2021-02-02 14-25-33 的屏幕截图.png] > The following chart is for the 8 routines: > [image: 2021-02-02 14-25-56 的屏幕截图.png] > 在2021年2月2日星期二 UTC+8 下午2:27:39<ren...@ix.netcom.com> 写道: > >> 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, 颜文泽 <nnsm...@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> 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...@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/965f01f0-2216-4204-a878-acbe960244a1n%40googlegroups.com.