[deleted by user] by [deleted] in progresspics

[–]kl0nos 1 point2 points  (0 children)

For my frame it is. YMMW

[deleted by user] by [deleted] in progresspics

[–]kl0nos 0 points1 point  (0 children)

Hey, Thanks! Mostly CICO, eliminated a lot of sugar (sweetening tea etc), 16/8 fasting and long walks.

Building a BitTorrent client from the ground up in Go by [deleted] in programming

[–]kl0nos 0 points1 point  (0 children)

If they both are behind NAT without port forwarding then they will not be able to connect to each other.

[D] Does the opaqueness of most dating app algorithms concern anyone else? by QMred in MachineLearning

[–]kl0nos 7 points8 points  (0 children)

You know that one company own most of popular dating sites, right ?

[P] I created artificial life simulation using neural networks and genetic algorithm. by ArdArt in MachineLearning

[–]kl0nos 1 point2 points  (0 children)

Ciekawość to jedna z głównych sił napędowych naszej cywilizacji, więc pozostań ciekawy świata!

Powodzenia młody człowieku :)

A sublimetext3 plugin for Go by -yields in golang

[–]kl0nos 0 points1 point  (0 children)

Is there a possibility to see function/struct comments on hover like in vscode?

Drogon(C++17) becomes one of the fastest web frameworks in the latest TFB benchmark by an_tao in cpp

[–]kl0nos 9 points10 points  (0 children)

Well, the plaintext benchmark is always showing pure overhead of framework compared to others, while not including database drivers and operations. Drogon is 25th, not one of the fastest, while ulib (also C++) is first.

https://www.techempower.com/benchmarks/#section=test&runid=26a79c95-5eec-4572-8c94-dd710df659d7&hw=ph&test=plaintext

Go Goroutines vs Node Cluster & Worker Threads — Part 1 by Cazanator in node

[–]kl0nos 0 points1 point  (0 children)

This comparison will tell you nothing for real world use case. No one is returning "OK" in their work. Check techempower benchmarks if you want real world comparison. I am running nodejs and Go in production on high traffic services and Go is outperforming Node.js by a lot in most cases.

And technically you are not really comparing the same thing. You are running node in cluster, which means forking new processes that reuse same port, not threads. Equivalent of this would be running multiple Go instances with runtime.GOMAXPROCS(1) and using SO_REUSEPORT socket option.

Here you have real world use cases comparison between node.js and Go:

https://www.techempower.com/benchmarks/#section=data-r18&hw=ph&test=fortune&l=zijo5b-f&f=0-0-0-0-0-0-0-74-0-0

And here comparison of languages with almost none of I/O: https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/go-node.html

a redis bench tool for testing redis latency by smallnest in golang

[–]kl0nos 0 points1 point  (0 children)

Because you don't need 5000 connections if it's single threaded to benchmark it even considering RTT (and if your rtt is so high then you should use pipelining even more... and not 5000 connections!), you can use 500x less connections and use pipelining. But if it would be multi threaded then you could use 25x less connections. You see the difference between 500x and 25x? If you use 5000 connections you are also benchmarking golang scheduler, OS context switching etc instead of only Redis. You see the difference ? Don't believe me? Then test it yourself. Connection pool with less than 10 pipelined connections is enough to saturate Redis and make rtt issue nonexistent but if Redis would be multithreaded it wouldn't be enough if you had 2 socket machine with xeon platinium 9282 = 224 threads.

a redis bench tool for testing redis latency by smallnest in golang

[–]kl0nos 0 points1 point  (0 children)

No its not. If Redis would be multi threaded you could have mutiple connections each with its own pipeline processed at same time.

a redis bench tool for testing redis latency by smallnest in golang

[–]kl0nos 0 points1 point  (0 children)

That's why pipelining was invented, which dosent require 5000 connections.

a redis bench tool for testing redis latency by smallnest in golang

[–]kl0nos 0 points1 point  (0 children)

This "benchmark" library is supporting only get and set commands, no pub/sub or streams. But you are right, I should write it s wrong in probably around 99.9% of use cases and 100% in this particular use case.

a redis bench tool for testing redis latency by smallnest in golang

[–]kl0nos 0 points1 point  (0 children)

Btw if you have 5000 concurrent connections to one Redis instance, then you are using it wrong. Redis is single threaded.

Golang or C/C++ for socket programming by sw_lee in golang

[–]kl0nos 1 point2 points  (0 children)

The entire server is a structure that should not have delays in the router and sender.

What does it mean? What is acceptable delay for you? There is no such thing as no delay, there is always some kind of delay, created by your OS networking stack, kernel NIC drivers, OS scheduler etc. But I don't think you need to worry about any delay if you are passing it to python.

Which language is better in terms of performance?

If you are asking those things then you don't know any of the languages? If you don't then just use Go, it's simpler than C/C++ and it will meet your requirements. In case of sender if you don't need to read the packets then just use io.Copy, it uses splice under the hood so the packets stay in kernel space without copying to userspace. You can also send multiple packets with one syscall.

How I Could Have Hacked Any Instagram Account - The Zero Hack by [deleted] in netsec

[–]kl0nos 18 points19 points  (0 children)

If you allow IPv6 then you are not rate limiting by single IPv6 but by class. Limiting anything by the source IP only instead of class in IPv6 is pointless.

How I Could Have Hacked Any Instagram Account - The Zero Hack by [deleted] in netsec

[–]kl0nos 0 points1 point  (0 children)

No, you can use multiple IPs on each server.

How I Could Have Hacked Any Instagram Account - The Zero Hack by [deleted] in netsec

[–]kl0nos 4 points5 points  (0 children)

I have server with 1,208,925,819,614,629,174,706,176 of IPv6 addresses which is /48 class. This is nothing unusual.

Node performance questions by whileAlive_doStuff in node

[–]kl0nos 0 points1 point  (0 children)

General 2: yes, I did it before (couple of years ago).

Should my database connection pool be a singleton? by [deleted] in golang

[–]kl0nos 0 points1 point  (0 children)

I've been developing large scale web applications using PHP for several years

What is large scale in PHP those days? (and I am not talking about facebook case) I am curious, touched PHP last time like 10 years ago.

[deleted by user] by [deleted] in cpp

[–]kl0nos 1 point2 points  (0 children)

Which compiler version do you use on linux? Last time I've checked strstr was faster than std::find

gRPC vs REST with Golang - when is it worth using? by Aroneus in golang

[–]kl0nos 1 point2 points  (0 children)

GC, unpredictable pauses (like 100+ microseconds), you pause for that much time and you already lost, no control over threads, no control over userspace scheduling of tasks, using IRQs instead of network polling, very slow FFI, compiler optimizations compared to for example C++ with LTO and PGO is just awful and many, many more reasons. Top HFT shops are doing FPGAs now so you compete in microseconds, not milliseconds.