@Sumith1896 yes, you should concentrate on wrapping it up. We got very close to Piranha already. What we need to do now is:
wrap things up, create classes + tests + benchmarks that reproduce the timings that you reported above
document your undestanding of the performance --- document all the points that you discussed with @bluescarni above. Actually, please start with this documentation first, while you still remember it. This is extremely important, otherwise we lose this knowledge. Document every single thing that affects performance, as well as things that you tried and do not affect the performance. That way we can always revisit later if needed and quickly get up to speed. If you do not document this, then somebody else will have to redo and spend all the time that you spent with this. So please document it, perhaps into our wiki, and ping me. We'll try to make sure that all points are in there. Then (or in parallel), try to wrap this up in classes.