Comparison of mark and sweep garbage collection and atomic reference counting on binary tree operations