Thread overview | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
September 10, 2018 Mobile is the new PC and AArch64 is the new x64 | ||||
---|---|---|---|---|
| ||||
LDC recently added a linux/AArch64 CI for both its main branches and 64-bit ARM, ie AArch64, builds have been put out for both linux and Android. It does not seem that many are paying attention to this sea change that is going on with computing though, so let me lay out some evidence. At my workplace six years ago, the developers were all allocated a core i5 ultrabook- likely with 4 GBs of RAM and a 128 GB SSD, though I don't remember those specs- and a 27" 2560X1440 display with which to get our work done. I was pretty happy with the display, the best I'd ever used to that point. I'm guessing the setup cost my employer a couple thousand dollars per developer. I picked up an Android/AArch64 smartphone earlier this year, with 6 GBs of RAM, 128 GBs of flash, a Snapdragon 835 octa-core CPU, and a 5.5" 2560X1440 display. This is the fastest computer I've ever owned, and it fits in 6 cubic inches and weighs a little more than a third of a pound. It cost me approximately $700. That is a stunning change in mobile capabilities in just six years, where what used to be a mobile developer workstation now comes packed into a smartphone at a fraction of the cost. If you think the phone doesn't actually perform, I borrowed a 2015-model Macbook Air with a core i5 and 4 GBs of RAM and built the last pure C++ version of ldc, 0.17, using both cores with `-ninja -j5`. It took two minutes with clang from Homebrew, the same amount of time it takes me to build the same source on my smartphone with clang by running `ninja -j9`. This phone has been my development hardware since early this year, by pairing it with a $30 bluetooth keyboard and a $5 stand to hold it up. I'm typing this long forum post up on it now. Tech companies are starting to realize this and going after the desktop/laptop PC markets with various 64-bit ARM products: https://www.engadget.com/2018/08/09/samsung-galaxy-note-9-dex/ https://arstechnica.com/gadgets/2018/08/samsungs-tab-s4-is-both-an-android-tablet-and-a-desktop-computer/ https://youtube.com/watch?v=uLvIAskVSUM https://www.anandtech.com/show/13309/lenovo-yoga-c630-snapdragon-850-windows That last link notes 25 hours of battery life with a Windows/AArch64 laptop, one of the key benefits of ARM, which is why even Microsoft has come around. Yes, I know, these devices won't replace your quad-core Xeon workstation with 32-64 GBs of RAM anytime soon, but most people don't need anywhere near that level of compute. That's why PC sales keep dropping while mobile sales are now 6-7X that per year: https://www.businessinsider.com/PC-sales-are-continuing-to-slump-fewer-are-sold-now-than-when-the-iPhone-launched/articleshow/62547330.cms https://www.androidauthority.com/smartphone-sales-idc-2018-871363/ Most of those mobile devices running iOS have AArch64 CPUs, and google said last December that "over 40% of Android devices coming online have 64-bit support," which is why they're requiring apps with native libraries to support it by next fall: https://android-developers.googleblog.com/2017/12/improving-app-security-and-performance.html D now has mostly working AArch64 support, with the ldc 1.11 release last month: https://github.com/ldc-developers/ldc/releases/tag/v1.11.0 That is the result of years of intermittent AArch64 patches added by the core teams of ldc and gdc- David, Iain, Kai, Johannes, Dan, and others- to which I recently added some Android patches. You too can pitch in with the few remaining issues or try out the AArch64 support with your own D code. This company provides a free linux/AArch64 CI for OSS projects, LDC uses it: http://blog.shippable.com/shippable-arm-packet-deliver-native-ci-cd-for-arm-architecture Despite all this, D may never do very well on mobile or AArch64, even though I think it's well-suited for that market. But at the very least, you should be looking at mobile and AArch64, as they're taking over the computing market. |
September 10, 2018 Re: Mobile is the new PC and AArch64 is the new x64 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Joakim | On 10 September 2018 at 15:43, Joakim via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
> LDC recently added a linux/AArch64 CI for both its main branches and 64-bit ARM, ie AArch64, builds have been put out for both linux and Android. It does not seem that many are paying attention to this sea change that is going on with computing though, so let me lay out some evidence.
>
I've just got back from a conference where AArch64 was declared a disaster, and the future is now PPC64 and RISC-V.
|
September 10, 2018 Re: Mobile is the new PC and AArch64 is the new x64 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Iain Buclaw | On Monday, 10 September 2018 at 14:00:43 UTC, Iain Buclaw wrote: > On 10 September 2018 at 15:43, Joakim via Digitalmars-d <digitalmars-d@puremagic.com> wrote: >> LDC recently added a linux/AArch64 CI for both its main branches and 64-bit ARM, ie AArch64, builds have been put out for both linux and Android. It does not seem that many are paying attention to this sea change that is going on with computing though, so let me lay out some evidence. >> > > I've just got back from a conference where AArch64 was declared a disaster Why? > and the future is now PPC64 and RISC-V. If you're not joking, it still stands that AArch64 is the _present_, as the currently most widely-deployed CPU arch used for personal computing, ie in mobile devices. Those other two arches are a joke right now, but you never know in the future. ARM was a joke compared to Intel a couple decades ago too. ;) |
September 10, 2018 Re: Mobile is the new PC and AArch64 is the new x64 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Joakim | On Monday, 10 September 2018 at 13:43:46 UTC, Joakim wrote: > Despite all this, D may never do very well on mobile or AArch64, even though I think it's well-suited for that market. But at the very least, you should be looking at mobile and AArch64, as they're taking over the computing market. Coming from ARM system programming for embedded systems, I'm also looking into AArch64. Having done some x86 assembly, ARM assembly was a bliss, and AArch64 looks even better! I also wish D will do well for embedded systems. Most of the system developers I know program in C, and do very little C++ for it becomes unmaintainable (unless you enforce strict coding rules: like using it like "C with class" with very little template). C is straigthforward and gets the job done (ie. Vulkan - as a quite recent API - was written in C, not C++. So D would do so good! That's why I think "BetterC" is a good strategic move (in the long run) even though I understand people coming from Java/Python background might not get it at all. If we have a BetterConst (I'm referring to Jonathan Davis article: http://jmdavisprog.com/articles/why-const-sucks.html ), I think D would be even greater. |
September 10, 2018 Re: Mobile is the new PC and AArch64 is the new x64 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Claude | On Monday, 10 September 2018 at 15:06:46 UTC, Claude wrote: > On Monday, 10 September 2018 at 13:43:46 UTC, Joakim wrote: >> Despite all this, D may never do very well on mobile or AArch64, even though I think it's well-suited for that market. But at the very least, you should be looking at mobile and AArch64, as they're taking over the computing market. > > Coming from ARM system programming for embedded systems, I'm also looking into AArch64. Having done some x86 assembly, ARM assembly was a bliss, and AArch64 looks even better! > > I also wish D will do well for embedded systems. Radu has done good work getting D working with uClibc, for example with OpenWRT: https://github.com/ldc-developers/ldc/issues/2810 yshui added a Musl port too, which can be used with the Alpine build of ldc available at the above ldc 1.11 link. There have been a couple reports of companies trying to use ldc for this, but there are likely still bugs that need to be ironed out. |
September 10, 2018 Re: Mobile is the new PC and AArch64 is the new x64 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Joakim | On Mon, 10 Sep 2018 13:43:46 +0000, Joakim wrote:
> Despite all this, D may never do very well on mobile or AArch64, even though I think it's well-suited for that market. But at the very least, you should be looking at mobile and AArch64, as they're taking over the computing market.
I was talking with a local businessperson the other day who noted that there are young people walking around right now that never have (and likely never will) own a laptop.
|
September 10, 2018 Re: Mobile is the new PC and AArch64 is the new x64 | ||||
---|---|---|---|---|
| ||||
Posted in reply to rjframe | On Monday, 10 September 2018 at 16:09:41 UTC, rjframe wrote:
> On Mon, 10 Sep 2018 13:43:46 +0000, Joakim wrote:
>
>> Despite all this, D may never do very well on mobile or AArch64, even though I think it's well-suited for that market. But at the very least, you should be looking at mobile and AArch64, as they're taking over the computing market.
>
> I was talking with a local businessperson the other day who noted that there are young people walking around right now that never have (and likely never will) own a laptop.
That's exactly whats happening in Africa. The continent is leapfrogging from nothing to a smart phone thanks to China. Many don'[t know how to even use a PC. Especially the young and upcoming generation.
The smart phone market is really significant.
|
September 11, 2018 Re: Mobile is the new PC and AArch64 is the new x64 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Joakim | On Monday, 10 September 2018 at 13:43:46 UTC, Joakim wrote: > LDC recently added a linux/AArch64 CI for both its main branches and 64-bit ARM, ie AArch64, builds have been put out for both linux and Android. It does not seem that many are paying attention to this sea change that is going on with computing though, so let me lay out some evidence. > > [...] Oh, I reported the AArch64 release of LDC to this blog a month ago, and I just saw that they wrote up an entry about it last week: https://www.worksonarm.com/blog/woa-issue-65/ |
September 11, 2018 Re: Mobile is the new PC and AArch64 is the new x64 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Joakim | On Monday, 10 September 2018 at 13:43:46 UTC, Joakim wrote:
> That's why PC sales keep dropping while mobile sales are now 6-7X that per year:
This shouldn't be misunderstood as such, which I think you as misunderstanding it. The reason mobile sales are so high is because of planned obsolescence and the walled garden that these devices are built around. I've gone through maybe 3-4 phones in the time that I've had my Desktop, and I use my desktop every single day. I don't need to buy a new one cause it runs perfectly fine, there aren't operating system updates that purposely cause the CPU to run slower to "save battery life" when a new device and OS come out. That's not to say it isn't insignificant but the sales numbers are exacerbated.
|
September 11, 2018 Re: Mobile is the new PC and AArch64 is the new x64 | ||||
---|---|---|---|---|
| ||||
Posted in reply to aberba | On Monday, 10 September 2018 at 19:28:01 UTC, aberba wrote: > On Monday, 10 September 2018 at 16:09:41 UTC, rjframe wrote: > > That's exactly whats happening in Africa. The continent is leapfrogging from nothing to a smart phone thanks to China. Many don'[t know how to even use a PC. Especially the young and upcoming generation. > > The smart phone market is really significant. That's why I'm trying to draw attention to first class ARM support by the D Foundation (not just some voluntary efforts, much as they are appreciated). ARM in dmd wouldn't be a bad idea perhaps, as Manu suggested. It's become more than obvious over the last couple of years that mobile devices have become very important and that people often use them instead of PCs or laptops. Fewer and fewer developers can "escape" development for mobile ("we want an app too"), and if a language doesn't offer first class support for mobile, then devs won't bother with it. A lot of other (new) languages are directing their efforts towards mobile for a reason. |
Copyright © 1999-2021 by the D Language Foundation