Hello there,
I'm doing lots of code on embedded systems and that's where optimizations are really needed. So I've been thinking about adding ARM or more exotic architectures support. I know that with AWS you're stuck at x86, but hear me out. ;)
Perhaps main backend could have list of slave backends, which could do architecture-specific compiling and benchmark running. Suppose you want to benchmark your code on raspi (armhf):
- user clicks "benchmark" button
- backend waits for free armhf-compatible slave
- backend sends it the code to compile and measure
- slave does compilation and measurement and returns disassembly/numbers to backend
- backend presents results to user
Of course this makes this project way more complex and introduces problem of slave availability/reliability but I think opportunities are worth it.
Suppose I want to do benchmarks on some AVR/MIPS/Extensa/whatever architecture chip. I can hook it up to my raspi via UART or something, launch slave daemon on pi so that it would compile code for given chip, transmit binary to it and wait for device to finish to measure performance. One could even write Amiga slave for some retro optimizing action.
And if not making public pool of slaves, there could be a text box to type IP address of private slave.
Hello there,
I'm doing lots of code on embedded systems and that's where optimizations are really needed. So I've been thinking about adding ARM or more exotic architectures support. I know that with AWS you're stuck at x86, but hear me out. ;)
Perhaps main backend could have list of slave backends, which could do architecture-specific compiling and benchmark running. Suppose you want to benchmark your code on raspi (armhf):
Of course this makes this project way more complex and introduces problem of slave availability/reliability but I think opportunities are worth it.
Suppose I want to do benchmarks on some AVR/MIPS/Extensa/whatever architecture chip. I can hook it up to my raspi via UART or something, launch slave daemon on pi so that it would compile code for given chip, transmit binary to it and wait for device to finish to measure performance. One could even write Amiga slave for some retro optimizing action.
And if not making public pool of slaves, there could be a text box to type IP address of private slave.