-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Restructuring the code (Refactoring) #34
Comments
Hi, I'd like to see the code for the performance improvement, especially if it's just one line :]. I'm aware of a low hanging fruit on optimization for the 64 bit version of GHC, as some types used during rendering are tuned for 32bits, there is some quick win to do on memory usage. For the "readability" bit, I don't know where you're going to, so I'll refrain to comment. |
Hi, Yes, I will give you the one line. But need to check again if it improves only my code or all code. Did you see the video of my snowflake benchmark? The video on Youtube? If you give me a bit of feedback, I can make the speed improvements quicker.
After that I also have another question on how to improve the edge sorting in |
The one line improvement is truing on strict evaluation on the modulate that allocates most; for instance, -X Strict on Rasterize.hs can help. But as you see, this is just a trick to know that there is some problem with perhaps lazy evaluation. This is not a fix. The next big step is where to do the changes so that the edges are sorted in parallel. Where would you do that change? |
I love the library! I did an interesting demo that got quite some positive feedback. Will publish that.
The demo showed the performance problems and also that a 1 line change can make the library 22% faster. Now I look for more performance gains. However, there is one problem with the library that hinders the readability.
Rasterific does 4 different things:
For me this is bad for readability and also from the standpoint of separation of concerns. I am probably going to rewrite a version of the library for myself to change that.
Minor things are copy/past code or code redundancy but this is a small detail.
The text was updated successfully, but these errors were encountered: