since 2008

Nimi Places 20261103 released

Nimi Places 20261103 further improves application performance and stability while enhancing multimedia support.

Nimi Places 20261103 released.

Today, after more than a month, we are releas­ing the lat­est build of Nimi Places 20261103, which focuses ​on improving applica­tion stabi­lity ​and performance.

The first major change is ​in how "delay­ed tasks" are handled. Previously, each task execut­ed ​in its own thread; now, they use a single shar­ed thread that utilizes multi­plexing. One of the reasons ​for this change was to addr­ess a report­ed timeout issue. Most important­ly, this should reduce general resource usage while further improving applica­tion performance during burst acti­vity.

The second major change is the improv­ed resilience of shell file opera­tions against abrupt applica­tion termina­tion. Nimi Places will now attempt to wait ​for these opera­tions to finish upon clos­ing, especi­ally when the applica­tion is clos­ing due to an error. In addi­tion, these opera­tions have been optimized to use a thread pool instead of newly creat­ed threads.

The final change is a revision of the con­ditional logic. While this revision is ongoing, con­ditionals ​for process­ing larger sets of extensions have been updat­ed to reduce the number of comparisons ​and allow ​for hardware jump table ​and binary tree execu­tion, bringing their execu­tion time closer to con­stant time. To verify these architectural choices, the logic was validat­ed us­ing low-level compila­tion analysis alongside synthetic tests design­ed to reproduce edge-case, real-world scenarios to accurately measure algorithmic performance. A lot of other con­ditionals, such as path syntax valida­tion, have already been revised as well.

Finally, multi­media support has been fixed ​and improv­ed. More audio ​and video con­tain­ers are now recognized, ​and pre­view playback properly manages media switching by dis­allow­ing simultaneous playback. Nonetheless, please keep ​in mind that multi­media support requir­es the appropriate system codecs to be pre­sent to handle all recognized formats.

Nimi Places 20261103

  • Added render­ed text evic­tion ​for off-screen items ​in idle Place type con­tain­ers.
  • Changed to recognize more audio ​and video con­tain­ers.
  • Optimized shell file opera­tions to use thread pool instead of managed threads.
  • Revised network availabi­lity change detec­tion func­tion to be branchless.
  • Fixed an issue where two-letter extensions were not validat­ed as resources due to an unreach­able logic path, due to length based optim­ization.
  • Fixed clearing last hover­ed off-screen item, when scrolling Place type con­tainer.
  • Fixed hashing algorithm ​for extensions lists possible collisions, when us­ing non-ASCII charact­ers.
  • Fixed multi­media pre­view allow­ing multi­ple simultaneous pre­views.
  • Fixed request format ​for opening legacy video playback formats.
  • Fixed thread synchro­nization func­tions to ensure state update.
  • Remov­ed custom managed func­tions ​for con­catenating charact­ers to strings.
  • Improv­ed file write opera­tions resilience against abrupt applica­tion termina­tion.
  • Improv­ed shell file opera­tions resilience against abrupt applica­tion termina­tion.
  • Optimized con­ditionals ​for extensions list to reduce number of comparisons ​and allow hardware jump table based execu­tion.
  • Optimized file linking.
  • Optimized logic ​for verify­ing if given character is pre­vious character modifier.
  • Optimized path syntax valida­tion.
  • Optimized string interning ​for extensions to provide con­stant-time lockless look­up.
  • Revised delay­ed tasks to use single shar­ed thread ​and multi­plexing.
  • Revised to use asynchronous close request ​for handling updat­es.
  • Other changes, updat­es ​and fixes.
  • Simplified update version comparison logic.
  • Unused code clean-up.

Mentioned projects

Nimi Places
Organizes desktop into con­tain­ers, dis­play­ing files ​and fold­ers.