DEV Community

Akshansh Gusain
Akshansh Gusain

Posted on

Why I am considering Go

1. Never Really Liked Javascript
JS is a great language and I am grateful for it but its flaky at times there have been instances when it made my life hell!
So when I heard about Go, I said to myself "Why not?!"

2. Relatively Easy to Learn
Its only my first week of learning Go and I already feel comfortable writing Go code. IMHO, if you have previous programming experience you should be up and running writing services in Go really quick.

3. Performance

Go is simply quicker and does what Python or NodeJS does but better. Higher max IO, faster arithmetic faster general operation.

But how fast?

That's exactly i wanted to know so I ran benchmarks with FastAPI(Python), ExpressJS(NodeJS) and Gin(Go).

Test setup:

8 Core CPU
8GB RAM

FastAPI with Uvicorn ASGI server scaled to 4 worker nodes with Gunicorn.(idk why but, when I tried to scale it more than 4 workers the performance got worse)

ExpressJS with Cluster Module scaled to 8 cores.

Go-Gin GOMAXPROCS=8.

My findings:

FastAPI with Uvicorn ASGI server scaled to 4 worker nodes with Gunicorn

ExpressJS with Cluster Module scaled to 8 cores

Go-Gin with single core

Top comments (6)

Collapse
 
logicsatinn profile image
Calvin Jackson

This is tempting. I should def try Go.

Collapse
 
clavinjune profile image
Clavin June
Collapse
 
madunixman profile image
Paolo Lulli
Collapse
 
kmukabe profile image
Kacha

Hey @gusain this a cool article, I'm learning Go as well. I wanted to find out what do you want to build with Go.

Collapse
 
gusain profile image
Akshansh Gusain

The company I work for is doing some work in the crypto domain, and my team is to build a group of services that could handle high throughput and scale well as the requirements changes with time. So far, I have implemented a caching service(which works with a Redis cluster) and a front-end facing service with web sockets.

Collapse
 
jayantaadhikary profile image
Jayanta Adhikary

I am new to Golang and seeing this post has made me trust my choice of learning the language!!