
Originally Posted by
Gnarly
I seriously want to flame every single one of you right now about how retarded your posts are. But instead I will take the time out of my priceless day to explain to you kind people of rune-server, what really makes process times slow.
First of all, jagex hosts 2 worlds per computer, they don't have near 10GB of ram, because they are not retarded morons and they don't write useless and heavy-weight scripts that will hog lots of memory. One server(computer) that jagex uses to host two worlds, maybe has about 4-6GB of ram, (I believe jagex uses redhat linux for hosting), you guys know nothing about the difference between RAM and CPU, RAM can easily be increased by creating a PAGE on your harddrives, a PAGE is a block of memory stored on your harddrive that acts like it was RAM. I have 4 harddrives, and i CAN have each one store it's own PAGE block. If I did, I would have like 21GB of ram, but sinces Windows XP only handles like 3GB of ram, all I need is the hardram (sticks on my motherboard) because I have 2.37GB of hardram. If I wanted to, I could switch OS's and have 21GB of ram, but it's not needed and wont speed anything up.
The real thing is CPU, the more GigaHertz(GHz) the faster threads will be processed. So honestly jagex has around 4-6GB of ram, and atleast 5.0GHz. Reason why jagex can handle 4096 connections on one computer, is not only because of the computers specs (RAM+CPU), but because jagex pays a shit load (ruffly guessing about $10,000++ a month for the internet), because they have Telnet Coms, internet, if you wish go check a speed test for Telnet Coms. Thus, making all the input/output events transfer so fast that if you were to go as fast as the data being transfered, you would be ripped apart into a million tiny bits.
You people don't think that download speed matters when it comes to hosting a server? Sorry you're as wrong as obama when he said "yes we can". Download speed matters just as much as upload speed, if your download speed is bad, that means when a client sends data to the server(you), it will go slow, thus making operations slow and shitty. Honestly network speed matters more than RAM. Also, I want to just through in here, you know why 2speced has to have like 20GB of ram? Because it's a shitty written server and he needs that much memory to handle 500 players.
Now on to what causes heavy use of memory. Buffers in blocking i/o are filled, but are not sized correctly, each client class creates a static buffer for all input and output, usually like 50MB in size. Thats why when making a client/server program, to have it ensure the the capacity is only what it needs and resize when its ready to be downsized or upsized(dynamic buffer).
You guys think thread-per-client is bad? Not at all, it's just only bad in winterlove because it was done WRONG. The more threads the better, but if you use it wrong, things will only get worse. Thread pooling is the best to handle thread-tasks that will only be alive for a short amount of time, such as i/o events and player updating every 600ms.
And of course, the retarded processing winterlove uses, I will not explain this because pretty much everyone knows.