-
Notifications
You must be signed in to change notification settings - Fork 0
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
Port to a language with a better standalone story #2
Comments
Rust + Gtk is happening in the https://github.com/finalfusion/finalfusion-inspector/tree/rust |
The version in the Rust branch has now surpassed the functionality of the Python version. I guess that this should be the point to make a decision what to put further effort into. Rust pros:
Python pros:
I think the number of visualizations is quite small, since you quickly get in the territory of specific, tailored visualizations. But at least a 2D/3D plot of nearest neighbors would be nice. @sebpuetz since this is becoming a semi-official finalfusion project, I wondered if you had any strong opinions on the matter. BTW. the combinations that I used were Python + Qt and Rust + Gtk (Qt for Rust is nowhere yet). |
Considering my other post, I'd probably prefer Rust. As for the Python pros, these visualizations might look impressive but I'm unsure how meaningful a 2/3D plot of 300-dimensional vectors is. The ecosystem for plotting in Rust might also improve in the future to add those visualizations anyways? |
👍 Let's go for Rust then, I'll leave the current Python version around in a branch.
I guess it can help to understand distances better than a single scalar to see if there are any clusters. Though I played a bit with multidimensional scaling and T-SNE a few years ago and found that with just a few data points (say 50 embeddings), MDS/PCA works pretty well and does not have the instability of T-SNE. And in contrast to T-SNE, it would not be much work to implement.
https://github.com/milliams/plotlib looks promising. |
This looks even more complete: It even has a Cairo backend :D |
I did encounter a problem: Gtk+ 3 support on macOS is not very good. I knew that it would not render natively-looking widgets (but would just render as on Linux, following some Gtk+ theme). But the rendering is also quite slow (noticable when e.g. resizing windows). There are also some integration issues, e.g.: shortcurts are not translated to macOS cmd shortcuts, the title bar is always I'll see how many of these issues can be solved (improving render speed/latency will probably be hard). (This quite different from Qt, which works very well for a non-native toolkit on macOS.) |
What is in the repository now is a quick mockup in Python. But Python makes it a bit harder to distribute a standalone application, plus to do (good) async processing. Consider rewriting in a native language for easy redistributability. Logical choices:
The text was updated successfully, but these errors were encountered: