Project Radium Update #15 — Continued Progress
This past week, we have been focused on improvements and bug fixes for the SmartChain.
SmartChain Development — The short version
We made it faster and added part of an API — much faster.
SmartChain Development — The long version
Some early testing indicated that there were performance issues on older or slower computers with limited CPU power. A significant amount of time was spent running CPU profiling and finding areas where we could save some CPU cycles. Unfortunately for us, and fortunately for everyone else, the only real way to reduce CPU time was to rebuild a few sections of code. This involved replacing several of the core loops and replacing them with more complicated event driven functions. As always, this broke code in about a dozen other places, and more time had to be spent hunting and fixing the bugs that were just created. In the process, a few extra functions were added whose job it is to maintain and restart the other background threads, if for some reason they became unstable or exited. Because why not, the event handling of the timers that trigger different sections of code at set times were also updated with cleaner and more efficient event handlers. This process got very long and complicated, and probably had a negative impact on the local coffee supply. Regardless, the new code is working as it should, with a several fold reduction in the CPU requirements.
In between banging heads against walls and yelling at computer screens, some additional work was done on the parsing of command line arguments, and the addition of an HTTP JSON API. The API will allow third parties to build additional integrations on top of the SmartChain to serve their own purposes. Once complete, the API should support all the same functions that are available in the graphical interface.
SmartChain Development — Screenshots
Registered Users Page
Registered Fingerprints Page
Until next time,
— The Project Radium Team