djhackersdev / bemanitools

Runs recent Konami arcade games and emulates various arcade hardware.
The Unlicense
77 stars 15 forks source link

refactor(inject): Use new core thread and log modules #295

Open icex2 opened 4 months ago

icex2 commented 4 months ago

refactor(inject): Use new core thread and log modules

Keep this a separate commit because this also removes inject's own logging engine and replaces it with the streamlined core API. The core API provides all the features of inject's own logging engine which also performed horribly. The entire logging operation was locked which included expensive operations that formatted the log messages and required memory allocations and copying around data.

The core API's implementation at least only synchronizes the actual IO operations (though this can be improved further with an actual async logging sink, TBD)


Stack created with Sapling. Best reviewed with ReviewStack.