PortMidi / portmidi

portmidi is a cross-platform MIDI input/output library
Other
116 stars 31 forks source link

Assessment of the difficulty in porting CPU architecture for portmidi #58

Open wangyuliu opened 10 months ago

wangyuliu commented 10 months ago

Hello everyone! I am working on implementing a tool to assess the complexity of CPU architecture porting. It primarily focuses on RISC-V architecture porting. In fact, it can be estimated on average across various architectures.My focus is on the overall workload and difficulty of transplantation in the past and future.As part of my dataset, I have collected the portmidi project. I would like to gather community opinions to support my assessment. I appreciate your help and response! Based on scanning tools, the porting complexity is determined to be simple, with a small amount of code related to the CPU architecture in the project. (referring to the overall workload from adapting the project to a specific architecture to achieving full functionality on that architecture). Is this assessment accurate? I look forward to your help and response.

rbdannenberg commented 10 months ago

I would say that's a fair assessment. There is a much bigger issue porting from on OS to another. PortMidi is almost 100% dealing with MIDI API differences across Mac, Win, & Unix. As for architecture, the port from Intel to Apple was pretty painless, although there was at least one byte-order error dependency. Similar for 32- to 64-bit: there were a couple of word size dependencies that we had to fix.