IceGuye Blog

IcePiano-R Is Usable Now. IcePiano-R已经可用了

Although nobody care, still want to let you know that, the new IcePiano-R is very usable now. If you are interested, you can get the source codes here: https://gitlab.com/iceguye/icepiano-r.

IcePiano-R is a midi piano playback software written in Rust programming language. I really enjoy the outcome. Comparing to the old IcePiano which was written in Python, the IcePiano-R runs with less delay and higher performance. I consistently played it for hours without any problem, and the noise caused by the CPU cache which occasionally occurred in the Python IcePiano has never happened here. This program also includes a lot of multi-threading. The main loop, the midi controller loop, the graphical display loop, and the sound fade-out loop are running in their own threads, and the each thread uses a CPU core, so it is extremely efficient. Furthermore, I use shared-state concurrency in almost all of those threads to share data between them. The method of shared-memory between threads has been pissed off by all of those fucking stupid Google engineers. This is why their Go language is doomed. Spreading this idea does actually fuck-up the many other computer software industries, especially for the industries of game, interaction, and instant-running program. Rust's high performance and safety let me do both message passing and shared-state concurrency fearlessly.

就是,跟大家说一下(虽然在这里也不会有人看到和在意吧),新的IcePiano-R已经非常可用咯。如果你们感兴趣,可以在这里找到源代码:https://gitlab.com/iceguye/icepiano-r

IcePiano-R是用Rust编程语言重新编写的MIDI钢琴软件。现在的结果我非常满意,相比于之前的Python版的IcePiano,延迟更加小,而且连续运行弹奏几个小时,也没有听到由于CPU cache问题而产生的噪音,而且我使用了多线程,主循环、MIDI控制器循环、图形画面循环、以及声音渐出等各自都在一个线程里面,每一个线程分别使用一个CPU核心,因此运行效率非常高。不仅如此,我还在程序中大量使用了被傻逼的谷歌等工程师摒弃的线程间内存共享来传输数据。谷歌的工程师们传播这种态度,实际上严重打击了许多其他的计算机软件领域,比如游戏编程、交互式程序、实时运行的程序等。而Rust则不一样,这都得益于Rust极高的效率和安全性,我能无所畏惧地使用信息传输法和内存共享法。




Back to Blog's index