Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Special threat for outgoing information and for ingoing information trought IPC #37062

Closed
anor731 opened this issue Jan 25, 2021 · 3 comments
Closed
Labels
feature request Issues that request new features to be added to Node.js. stale

Comments

@anor731
Copy link

anor731 commented Jan 25, 2021

Sockets for receiving information will have single threat special for itself, if information arrived on socked, data will be merged to main threat, same for outgoing sockets but there data will be send along with doing another process.

On those CPU's with some cores and twice as much threats, it could highly reduce latency of interprocess communication.

Please consider this as serious thing. Like that, you have l1 core, for both threats if I'm not correct correct me, but those data get diverged and merged at L1 cache instantly, and it'll work better.

If we have one process, that has something like input of 42k objects of simple graph nodes per second, and it have to deliver it to database, it's faster if receiving runs in one threat, sorting in another and sending in another...

Like this, we can use Ryzen and Threadripper technologies of IPC that works on basis of streams, which is very efficient for stream processors, if they're split into various processes, and therefore we can achieve maximum of node's performance.

Even for tasks like getting distribution of change from processor trough websockets, it's better, because distribution runs in single threat, and another threat on processor can still react on change or whatever, or it can actually change, while the alternative threat is delivering chance in cycles of threat syncs and split...

Essentially, when you send to by socket, you read data that are arranged by set of pointers to be read from memory, now it's same threat in new node it can be another, therefore it just reads data that are not writtable, because if those data was written in there would be new pointer to their copy where write happened.

Where we're recieving, we got this one threat, that's pumping data into proccess, and on every sync, therefore something like one line of stdout to another stdin, can be being loading on one threat, while another is sorting just loaded data, therefore it's twice that fast.

Please code it, I don't orientate in this C++ mess node is. It's like function calls and stuff doesn't make sense to me and it'll take me like two weeks to code this, and I have better stuff to do.

@anor731
Copy link
Author

anor731 commented Jan 25, 2021

Then node would be most ideal tool for microservice architecture ever, maybe sometimes even faster than C++ because they don't use this threat trick for processors with twice much threats, and maybe newer processors will even come with 3 or 4 threats, so we'll have like 2 async inputs, one processor and one output, or vice versa... If you know what I mean, it's important to implement this in language that has so much share of web's platform as Node.js

@targos targos added the feature request Issues that request new features to be added to Node.js. label Jan 31, 2021
@github-actions
Copy link
Contributor

There has been no activity on this feature request for 5 months and it is unlikely to be implemented. It will be closed 6 months after the last non-automated comment.

For more information on how the project manages feature requests, please consult the feature request management document.

@github-actions github-actions bot added the stale label Mar 22, 2022
@targos targos moved this to Pending Triage in Node.js feature requests Mar 22, 2022
@targos targos moved this from Pending Triage to Stale in Node.js feature requests Mar 22, 2022
@github-actions
Copy link
Contributor

There has been no activity on this feature request and it is being closed. If you feel closing this issue is not the right thing to do, please leave a comment.

For more information on how the project manages feature requests, please consult the feature request management document.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request Issues that request new features to be added to Node.js. stale
Projects
None yet
Development

No branches or pull requests

2 participants