RangerHere
I love Rust. Although I agree with everything else, I would definitely not say "same amount of effort".
Thanks for posting this. I will check it out.
I did not know this. I will be keeping an eye here so I can migrate my domains when somebody has a usable alternative.
Transistor is one of my top games. I think you would like it.
I want to fully cut Google out of my life. Unfortunately, my company still depends on Google workspaces.
I am just adding my humble opinion but Pyre is the only SuperGiant game that I don't like.
Here are couple suggestions about how to improve your algorithm:
First of all, you should reduce the number of calls to realloc
function. This is because, this function will often need to switch to the kernel space to be able to do the reallocation. I think it is nice to allocate the same size as a single page or multiples of page size from the virtual memory. I think you should allocate 4KB or 2MB of memory at the beginning of the function. Then reallocate multiples of the page size when you need to reallocate memory.
Second of all, reading the input one character at a time is also time-consuming. Repeatedly calling this function means you will end up going to the kernel space, grabbing a single character from there, then coming back to the user space (I used this as an example, there are many buffers between your application and kernel space). Instead I would suggest you to read 4 kB at the time using read or fread functions.
If you do not know about files, caching, virtual memory, page sizes, kernel space, user space, and optimization then please disregard everything I said. This will only confuse you now. I know it is a lot of fun to start thinking about optimization when you are learning a new programming language, on the other hand as mathematician and computer scientist Donald Knuth said, premature optimization is the root of all evil.
I hope this answer helps you.
This guy is right. I saw OP's post but I did not have enough time to reply at the time. I came back to reply to OP's post, but you are already right.
I tried it. I hate it.
Thanks for letting me know. I plan to contribute to the source code, as well as running my own server just to play around with it and getting more familiar with Rust.
I agree with the donation box, I'll donate when it's ready.
This was a good read. Thanks for posting.