Greeting people,

*TL;DR: The only option is to work with syscall package and build 
everything ground up, or there are some easier way?*

The story is, I'm working on a network related project 
(https://github.com/nickrio/coward) which been designed to take a lots of 
connections. Most of those connections is just idle, but hey can back to 
active at any time.

Currently, that application is implemented in Go's style -- When a new 
connection is accepted, a new goroutine is created, along with associated 
buffer and structs.

The downside of that is, I have to create a buffer for each goroutine (for 
each connection), no matter that connection is active or not. And because 
of that, there will be a lots of memory space been wasted (goroutine also 
cost few KB of memories).

So I'm thinking, if I can somehow re-implement connection handling in 
epoll-like model, then I could save those idle memory for better memory 
efficiency.

After dug few pages of source code on golang.org, I discover that in order 
to do so, I have to work with some *low* level system calls (the package 
name is <goog_1404985334>literally syscall) and runtime package.

So before I get started, I want to do the last check to make sure there are 
no any other way to go (No built-in package or x package will help me to do 
that. Sorry, I'm new to Golang, if there are a magic hidden inside, I 
probably wouldn't found it. So better ask to make sure), so I don't waste 
my time doing it.

Thank you!

(Sorry for my English)

-- 
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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to