Sometimes in University I found bold young guy saying something like:
I will reimplement this in machine language because is faster
I will reimplement this xyz C function by my own
My program crash, I think there is a bug in HP UNIX socket implementation
I will ge rid of this Java Garbage Collector because it is too slow. I will reimplement all the code in my C++ routine.
Belive me: your code is doomed. A full list of guys have already done your same code, found a million bugs and corrected it in the tool you want to replace because they are shitty slow, to your eyes.
I feel your pain because I made your same mistake. Keep reading.
It is quite impressive too the number of papers on Garbage Collections, even considering only the papers until 1995.
The Not invented Here syndrome is often a bad things. In 2001, Joel Spolsky correctly said us when you should use it (and become a very bold boy):
If it’s a core business function — do it yourself, no matter what.
But if Garbage collection, synchronization primitive, database optimization, sorting algorithms are not your business, please stop re-implementing the wheel.
You cannot easily win 50 years of IT knowledge… or do you can?