[url=http://meincmagazine.com/civis/viewtopic.php?p=27103677#p27103677:1welf7pb said:redleader[/url]":1welf7pb][url=http://meincmagazine.com/civis/viewtopic.php?p=27103665#p27103665:1welf7pb said:qazwart[/url]":1welf7pb]Is ART open source?
Yes, you can download the source right now:
https://android-review.googlesource.com ... atform/art
[url=http://meincmagazine.com/civis/viewtopic.php?p=27103695#p27103695:12ihrp25 said:sk3l[/url]":12ihrp25][url=http://meincmagazine.com/civis/viewtopic.php?p=27103529#p27103529:12ihrp25 said:lewax00[/url]":12ihrp25]AOT compilation...also know as just compilation. Welcome to the Gentoo model?
Yes, but Gentoo's major benefit is that it also offers the "aggressive hardware optimization" option that was touted as part of JIT, so it's a slightly different paradigm.
Because then developers have to worry about all of the different platforms Android can run on. Do you limit yourself to ARMv6? What about x86? MIPS? Do you need to compile for the 64 bit variants of all of those platforms? It's a complicated world. Yes, Linux developers do it every day and have for years, but mobile development is expected to be easier.[url=http://meincmagazine.com/civis/viewtopic.php?p=27103989#p27103989:mypbllt7 said:gbjbaanb[/url]":mypbllt7]So why didn't they go the whole hog and make the ndk the preferred development tooling? Would have saved so much bother all along.
[url=http://meincmagazine.com/civis/viewtopic.php?p=27103383#p27103383:1kksnrug said:Epitope[/url]":1kksnrug]The navigation icons are possibly the ugliest and non-intuitive icons I have ever seen. A circle now means home? A square represents multitasking?
[url=http://meincmagazine.com/civis/viewtopic.php?p=27103735#p27103735:1tv2qako said:redleader[/url]":1tv2qako][url=http://meincmagazine.com/civis/viewtopic.php?p=27103637#p27103637:1tv2qako said:lewax00[/url]":1tv2qako]From my understanding, LLVM basically works this way too: generate VM code, then generate native code from that. So you just distribute the intermediate step instead of source code, and compile that per-user.[url=http://meincmagazine.com/civis/viewtopic.php?p=27103535#p27103535:1tv2qako said:tayhimself[/url]":1tv2qako]Haha this is awesome, and I +1'd it but there is a difference between native and AOT that the wiki page details and I hadn't really thought about myself.[url=http://meincmagazine.com/civis/viewtopic.php?p=27103439#p27103439:1tv2qako said:academic.sam[/url]":1tv2qako]Cool.article":1tv2qako said:ART switches to Ahead of Time (AOT) compilation, meaning the app is compiled once.
... Goes on to do some AOT with gcc
AOT in most cases produces machine optimized code, just like a 'standard' native compiler. The difference is that AOT transforms the bytecode of an existing virtual machine into machine code.
http://http://en.wikipedia.org/wiki/AOT_compiler
FWIW, ART actually uses llvm.
[url=http://meincmagazine.com/civis/viewtopic.php?p=27104457#p27104457:1hdp2yku said:Kazper[/url]":1hdp2yku]I'm loving ART. Have been using it on my Nexus 5 for about a month with no problems - and massive performance improvement. But switching from a JIT compiler to an AOT compiler is not something you do lightly when your product is entirely dependent on said compiler. I imagine this has been underway for a while.
[url=http://meincmagazine.com/civis/viewtopic.php?p=27104077#p27104077:3rkdyooo said:Danrarbc[/url]":3rkdyooo]Yes, Linux developers do it every day and have for years, but mobile development is expected to be easier.
[url=http://meincmagazine.com/civis/viewtopic.php?p=27103129#p27103129:2ntmqxkq said:jdale[/url]":2ntmqxkq][url=http://meincmagazine.com/civis/viewtopic.php?p=27103005#p27103005:2ntmqxkq said:GodsMadClown[/url]":2ntmqxkq]I'm trying to think of candies that start with L.
Lolipop
Licorice
Laffy Taffy
Lemon Heads
Lifesavers
Any more?
I assume it's "L" as in "we haven't found a sponsor for this version yet, but after making money on what we called K we are certainly going to keep trying."
[url=http://meincmagazine.com/civis/viewtopic.php?p=27104411#p27104411:2darom83 said:BullBearMS[/url]":2darom83]
There is something amusing about Android switching over to Apple's compiler toolchain after years of hearing that Dalvik was not the reason for Android performance problems and memory bloat.
With ART, Google ships uncompiled code through the Play Store and compiles it at install time.
[url=http://meincmagazine.com/civis/viewtopic.php?p=27103747#p27103747:1gnr1xsc said:CrookedKnight[/url]":1gnr1xsc]So how many apps that are no longer being updated will be broken by the switch to ART? Looking at what's on my phone a decent amount of software that I still use weekly is dated 2013 or even 2012 in the Play store.
[url=http://meincmagazine.com/civis/viewtopic.php?p=27104051#p27104051:3fk0kq8f said:BoogieWonderland[/url]":3fk0kq8f][url=http://meincmagazine.com/civis/viewtopic.php?p=27103695#p27103695:3fk0kq8f said:sk3l[/url]":3fk0kq8f][url=http://meincmagazine.com/civis/viewtopic.php?p=27103529#p27103529:3fk0kq8f said:lewax00[/url]":3fk0kq8f]AOT compilation...also know as just compilation. Welcome to the Gentoo model?
Yes, but Gentoo's major benefit is that it also offers the "aggressive hardware optimization" option that was touted as part of JIT, so it's a slightly different paradigm.
From reading the article, I'd say that apps are compiled after downloading, optimizing for your hardware, so it seems to me as exactly the same paradigm as Gentoo. With the slight difference that in Gentoo you compile from source, while with ART you compile the Java bytecode.
Traditionally, JIT takes longer to start up but can be more aggressively optimized because it has information about the device it is running on. AOT will start up faster, but it usually has less information about the hardware it's running on.
[url=http://meincmagazine.com/civis/viewtopic.php?p=27104855#p27104855:1dv2qg2v said:excessivelime[/url]":1dv2qg2v][url=http://meincmagazine.com/civis/viewtopic.php?p=27104411#p27104411:1dv2qg2v said:BullBearMS[/url]":1dv2qg2v]
There is something amusing about Android switching over to Apple's compiler toolchain after years of hearing that Dalvik was not the reason for Android performance problems and memory bloat.
LLVM has been around for years now (project started back in the early 2000's at the University of Illinois). I don't think it's accurate to call it "Apple's compiler toolchain" simply because they're the most prominent organization using it.
In late 2000, Lattner joined the University of Illinois at Urbana-Champaign as a research assistant and M.Sc. student. While working with Vikram Adve, he designed and began the implementation of LLVM, an innovative infrastructure for optimizing compilers, which was the subject of his 2002 M.Sc. thesis. He completed a Ph.D. in 2005, researching new techniques for optimizing pointer-intensive programs and adding them to LLVM.
In 2005, Apple Inc. hired Lattner to begin work bringing LLVM to production quality for use in Apple products. Over time, Lattner built out the technology (personally implementing many major new features in LLVM), formed and built a team of LLVM developers at Apple, started the Clang project, took responsibility for evolution of Objective-C (contributing to the "blocks" language feature, and driving the ARC and Objective-C literals features), and nurtured the open source community (leading it through many open source releases).
Lattner's recent work involves designing, implementing, and evangelizing the LLVM and Clang compilers, productizing and driving LLDB, and overseeing development of the low-level toolchain. LLVM technologies are currently the core of Apple's developer tools, the default toolchain on FreeBSD, and may eventually replace GCC, GDB, and Binutils in other contexts in the future.
None of them are sweet.[url=http://meincmagazine.com/civis/viewtopic.php?p=27105729#p27105729:3b3bii8l said:pixel4e[/url]":3b3bii8l]Lettuce
Lasagna
Linguine
Lamb
Lima Beans
Only that for a language like scala, because of the java / dalvik / art runtime, it seems impossible to get something like tail call elimination right which is pretty fundamental for a language like that.[url=http://meincmagazine.com/civis/viewtopic.php?p=27103907#p27103907:18e16z5k said:lloeki[/url]":18e16z5k][url=http://meincmagazine.com/civis/viewtopic.php?p=27103491#p27103491:18e16z5k said:academic.sam[/url]":18e16z5k]I would really wish for some CLR (a la Microsoft) type approach which would support multiple languages. Just hate programming with Java and it is sapping my motivation to write some apps that are useful for me.
Fundamentally there's no difference, really. Java becomes byte code which then get exec/JIT'd/AOT'd. Replace Java with any other language (e.g JRuby, Scala, Clojure) and it works.
Not going to happen without source code. ROMs will still be made, but they'll be limited in what they can do.[url=http://meincmagazine.com/civis/viewtopic.php?p=27105961#p27105961:3kwdj5mk said:RCook[/url]":3kwdj5mk]I like that there is an early release of 'L', hopefully this mean that ROM developers can start the process of customising the ROM now so that when it's ready to go the roll out is much faster. It would be nice to have a CM12 ready to go the same day that the official L version is ready.
Probably 4.4.4 - KitKat still.[url=http://meincmagazine.com/civis/viewtopic.php?p=27105987#p27105987:3kwdj5mk said:Zero2360[/url]":3kwdj5mk]Being release some time this fall...
hmmn.. so i just got an OS update on my nexus a few minutes ago.. something different? guess i'll keep reading.
lots of cools stuff though.
[url=http://meincmagazine.com/civis/viewtopic.php?p=27103491#p27103491:2gzsnif2 said:academic.sam[/url]":2gzsnif2]I would really wish for some CLR (a la Microsoft) type approach which would support multiple languages. Just hate programming with Java and it is sapping my motivation to write some apps that are useful for me.
You might better quibble about the implication that it's “only Apple's compiler toolchain.” It certainly is essentially the only tool for Apple OS development; also, their contributions to it are consistent with their reliance on it.[url=http://meincmagazine.com/civis/viewtopic.php?p=27104855#p27104855:19fo047l said:excessivelime[/url]":19fo047l]…LLVM has been around for years now (project started back in the early 2000's at the University of Illinois). I don't think it's accurate to call it "Apple's compiler toolchain" simply because they're the most prominent organization using it.
[url=http://meincmagazine.com/civis/viewtopic.php?p=27104669#p27104669:38zhgvx5 said:uhuznaa[/url]":38zhgvx5]I can't quite put my finger on it but I have seen this new color scheme somewhere lately...
![]()
But I like it and I also like the new button shapes.
[url=http://meincmagazine.com/civis/viewtopic.php?p=27108459#p27108459:1cbw71pw said:Walt French[/url]":1cbw71pw]You might better quibble about the implication that it's “only Apple's compiler toolchain.” It certainly is essentially the only tool for Apple OS development; also, their contributions to it are consistent with their reliance on it.[url=http://meincmagazine.com/civis/viewtopic.php?p=27104855#p27104855:1cbw71pw said:excessivelime[/url]":1cbw71pw]…LLVM has been around for years now (project started back in the early 2000's at the University of Illinois). I don't think it's accurate to call it "Apple's compiler toolchain" simply because they're the most prominent organization using it.
But LLVM is definitely the compiler toolchain for the huge majority of Apple's 9 million developers.
[url=http://meincmagazine.com/civis/viewtopic.php?p=27103079#p27103079:38e8xtd3 said:immunizer[/url]":38e8xtd3]Just what we need: 5,000 new APIs.
[url=http://meincmagazine.com/civis/viewtopic.php?p=27109063#p27109063:2e1539ns said:Zarsus[/url]":2e1539ns][url=http://meincmagazine.com/civis/viewtopic.php?p=27108459#p27108459:2e1539ns said:Walt French[/url]":2e1539ns]You might better quibble about the implication that it's “only Apple's compiler toolchain.” It certainly is essentially the only tool for Apple OS development; also, their contributions to it are consistent with their reliance on it.[url=http://meincmagazine.com/civis/viewtopic.php?p=27104855#p27104855:2e1539ns said:excessivelime[/url]":2e1539ns]…LLVM has been around for years now (project started back in the early 2000's at the University of Illinois). I don't think it's accurate to call it "Apple's compiler toolchain" simply because they're the most prominent organization using it.
But LLVM is definitely the compiler toolchain for the huge majority of Apple's 9 million developers.
And this is relevant how?
[url=http://meincmagazine.com/civis/viewtopic.php?p=27109063#p27109063:1n16opxy said:Zarsus[/url]":1n16opxy][url=http://meincmagazine.com/civis/viewtopic.php?p=27108459#p27108459:1n16opxy said:Walt French[/url]":1n16opxy]You might better quibble about the implication that it's “only Apple's compiler toolchain.” It certainly is essentially the only tool for Apple OS development; also, their contributions to it are consistent with their reliance on it.[url=http://meincmagazine.com/civis/viewtopic.php?p=27104855#p27104855:1n16opxy said:excessivelime[/url]":1n16opxy]…LLVM has been around for years now (project started back in the early 2000's at the University of Illinois). I don't think it's accurate to call it "Apple's compiler toolchain" simply because they're the most prominent organization using it.
But LLVM is definitely the compiler toolchain for the huge majority of Apple's 9 million developers.
And this is relevant how?
[url=http://meincmagazine.com/civis/viewtopic.php?p=27109501#p27109501:12tguiek said:BullBearMS[/url]":12tguiek][url=http://meincmagazine.com/civis/viewtopic.php?p=27109063#p27109063:12tguiek said:Zarsus[/url]":12tguiek][url=http://meincmagazine.com/civis/viewtopic.php?p=27108459#p27108459:12tguiek said:Walt French[/url]":12tguiek]You might better quibble about the implication that it's “only Apple's compiler toolchain.” It certainly is essentially the only tool for Apple OS development; also, their contributions to it are consistent with their reliance on it.[url=http://meincmagazine.com/civis/viewtopic.php?p=27104855#p27104855:12tguiek said:excessivelime[/url]":12tguiek]…LLVM has been around for years now (project started back in the early 2000's at the University of Illinois). I don't think it's accurate to call it "Apple's compiler toolchain" simply because they're the most prominent organization using it.
But LLVM is definitely the compiler toolchain for the huge majority of Apple's 9 million developers.
And this is relevant how?
Ditching Dalvik for Apple's compiler toolchain yields a 2X speedup for apps and significant memory savings, according to Google.
They also called out significant improvements in garbage collection.
[url=http://meincmagazine.com/civis/viewtopic.php?p=27109623#p27109623:vqkwxu4x said:tragiclifestories[/url]":vqkwxu4x][url=http://meincmagazine.com/civis/viewtopic.php?p=27109063#p27109063:vqkwxu4x said:Zarsus[/url]":vqkwxu4x][url=http://meincmagazine.com/civis/viewtopic.php?p=27108459#p27108459:vqkwxu4x said:Walt French[/url]":vqkwxu4x]You might better quibble about the implication that it's “only Apple's compiler toolchain.” It certainly is essentially the only tool for Apple OS development; also, their contributions to it are consistent with their reliance on it.[url=http://meincmagazine.com/civis/viewtopic.php?p=27104855#p27104855:vqkwxu4x said:excessivelime[/url]":vqkwxu4x]…LLVM has been around for years now (project started back in the early 2000's at the University of Illinois). I don't think it's accurate to call it "Apple's compiler toolchain" simply because they're the most prominent organization using it.
But LLVM is definitely the compiler toolchain for the huge majority of Apple's 9 million developers.
And this is relevant how?
I suspect the idea is that google's adoption of LLVM amounts to an embarrassing climbdown from a NIH attitude - "look who's come crawling back", etc.
OT: I've not experienced any noticeable performance issues on my Nexus 5 (never owned any other android stuff), but if there's a battery life knock-on effect from ART, I will be most pleased.