first of all: Thanks for creating bongo. I just started to use it and really like it!
I also noticed high CPU load:
and did some profiling/improvements:
High CPU load is produced by parsing mpg123 process output. Instead
of creating a temporary buffer for each process output and using
buffer-search/regex functions to parse it, transform input string to
an intermediate list representation by using faster string functions.
Also remove duplicate events: By rounding the elapsed time to full
seconds a lot of events don't have to be processed.
This reduces CPU load from 60% to 24% on my Core2Duo system.
Nice work, but this fix reduces cpu load from 100%(emacs) on one core to 50%(mpg123) and 50%(emacs) on both cores. I also have Core2Duo system.
with the latest commits i was able to reduce CPU load to 12% on my system.