Originally posted by Michael
View Post
For many SBCs and the SoCs they're based on, if they have any mainline support, it's often limited and leaves out important bits like display controllers, etc. And, while newer kernels are super shiny and cool, they aren't necessarily faster in any menaingful way. They're often slower. They may be better for some workloads as they may have new features which can allow the system (kernel+user apps) to be faster/better/stronger/more, that doesn't mean they are generally beneficial for computational user space apps--which almost by definition interact very little with the kernel. If the goal is to get as much work done as possible, it's best not to waste any CPU time in the kernel, is it not?
What's going to determine performance for most of these apps is the compiler version and if the app has any optimizations (assembly or otherwise) for the CPU in question. For x86, ASM optimizations are almost a given whenever there's an instruction that will really help (and the compiler can't be trusted to figure it out on its own). For ARM, it's getting pretty likely they'll also have hand tuned optimizations. But for RISC-V? Nope, not yet. For one, there's so few of the chips in use for most apps to *care*. If ~0% of your user base uses a particular CPU, there's just not going to be much call for people to take the time to optimize for it. Also, given how new RISC-V is, it's hard to target any specific instruction set/extension or implementation for optimizations as it's such a moving target.
Worse than that, as you can see, most of the cores implemented so far that us little people can get our grubby little hands on aren't super high performance in nature. So, expecting them to be super fast is a silly expectation. All of this will take time to change. it'll also take people who buy these early chips/boards to test software on them and to write those optimizations.
IIRC, this CPU doesn't support some of the vector extensions (even the preliminary ones), but the GCC mainline people have said that they're not going to support the 0.71 pre-ratified version of the vector extension *period*. So, all the cores out there with the 0.71 extension will have to use out of tree compilers maintained by vendors or other groups. So, don't expect some generic distribution to have a compiler that supports them. They may also be pretty old (as debian is) and use a compiler that doesn't support any of the other extensions (even ones that are common now).
So, if you find the performance of this board too low to interest you, move on, this board isn't aimed at you anyway. If you find it low and love coding challenges, ponder getting one and helping out. If you maintain an app and want to look into adding some RISC-V support, ponder getting one as well. If you like bleeding edge stuff and/or just want to support the designers/vendors/etc., then ponder getting one and/or donating money or the board to people who are interested in coding for them. There are plenty of groups around who would welcome support.
If you just want to grumble and complain, then move along and do it somewhere else. You're not being insighful nor helpful.
Comment