PplWare Mobile

ART vai substituir Dalvik já no Android 4.5

                                    
                                

Este artigo tem mais de um ano


Autor: Hélder Ferreira


  1. David Ferreira says:

    Sem faltar os problemas que o art ainda tem com alguns apk’s

    A própria samsung tirou o ART da release 4.4, e numa tentativa de instalar uma custom rom com o art activo, já vi que coisas como o glance ou o airview deixaram de funcionar, mas bastava activar o dalvik para funcar 😛

    • Verdade, algumas aplicações ainda não funcionam no ART, o Xposed framework é uma delas.
      A Samsung tirou o ART da release 4.4 simplesmente porque o ART ainda só funciona devidamente em hardware Qualcomm e como a ROM do modelo Exynos e do modelo Snapdragon é a mesma, só muda as drivers do hardware que for diferente, a Samsung removeu, deixando só o Dalvik.

      • Nelson says:

        Era fixe que o ART funcionasse na versão mais avançada do ISA da ARM: ARMv8-A (64bit).

        Porém, nem funciona no ARMv8-R (32 bit).

        Que dizes a isso? Era começar a testar isso com o Apple A7 (ARMv8-A), não? Ou é velho demais, e ultrapassado?

        • O ART é experimental ainda, só funciona sobre ARMv7 e limitado ao hardware da Qualcomm, tanto que nem o Android 4.4 do Nexus 7 2013 o tem.
          Por sua vez o Dalvik irá funcionar em ARMv8 até o ART chegar ao ponto de performance que a Google pretende deste runtime.

          Quando o ART chegar a um bom nível de desenvolvimento e onde todas ou mais de 90% das apps funcionem nele, será mais fácil depois adaptar ao ARMv8, do que o fazerem agora e ele não funcionar nem bem no ARMv7 nem no ARMv8.

          • Nelson says:

            Mas ARMv8-A ou ARMv8-R?

            É que gostaria de saber o que achas mais “antigo” e o mais “moderno”.

            É que um é uma extensão 32 bits, outro uma arquitectura 64 bits (AArch64).

            Tu dizes que o de 64bits é tecnologia ARMv8 antiga, ainda não suporta totalmente um sistema 64bits. Dado que o Apple A7 é ARMv8-A, fica assim muito confuso…

            Mas deixa lá, não interessa, porque hoje um CPU de 64 bits não faz diferença nenhuma, vai fazer amanhã…

    • Cavenon says:

      No meu Nexus 5 com o ART tem menos performance no Antutu e com o clean master usa mais espaço e mais RAM o ART. Ando confuso com os indicadores das aplicações e com as opiniões sobre estas virtualizações…

  2. Nunes says:

    “Neste momento um processador 64bits não é muito melhor que um bom processador de 32bits”
    em processadores ARM o processador de 64bits é muito melhor que um processador de 32bits, no mínimo pela evolução da arquitectura ARMv8 sobre ARMv7! A Apple já tem um sistema de 64bits, totalmente funcional!

    • Rodrigues says:

      O que eu entendo com essa frase é que “neste momento” não há nada que um processador 32 bits não faça e que um de 64 bits faça.
      Mas isso obviamente por o software ainda não tirar total partido do hardware.
      Contudo, concordo que quem investir num equipamento topo-de-game, como um ipad, faz uma melhor compra, porque o hardware não é substituível, e fica preparado para o futuro. Segundo as previsões, é como comprar tecnologia de 2015 em 2013, por assim dizer.
      Mas a verdade é que neste momento o meu HTC One faz o mesmo que um iphone 5S, com a mesma fluidez.

      • Rodrigues says:

        *topo-de-gama

      • Nelson says:

        Não é verdade, todas as aplicações que são atualizadas, ficam automaticamente com versão 64bit. E utilizam a 100% o hardware disponível.

        Esqueces-te que a Apple controla o sistema de cima abaixo.

        E assim se acalmam os fãs de android, não é com novidades, bug fixes, updates, notícias positivas… É o “deixem estar que na concorrência é bem pior”… Triste… Triste… Triste…

        • Rodrigues says:

          caro nelson, já percebi que és fã incondicional da Apple, e tudo bem, é uma excelente empresa com excelentes inovações…
          eu sou mais fã da tecnologia, não me interessa muito a marca, pelo que neste momento a arquitectura 64 bits não me impressiona muito, pois não vejo grande utilidade de momento…
          é óbvio que o sistema operativo é a primeira coisa a ser optimizada, e as restantes aplicações são gradualmente actualizadas, mas estamos a falar de ganhos nas diversas operações na ordem dos milissegundos…
          vou ficar realmente interessado, isso sim, quando a apple conseguir meter o OS X a rodar no equipamento, de maneira que quando acoplar o iphone numa dock station ou num monitor estilo imac consiga ter o OS X a rodar com a velocidade que roda num macbook… E ACREDITO QUE SE HÁ EMPRESA QUE CONSEGUE FAZER ESSA PROEZA É A APPLE…
          agora eu não questiono que 64 é melhor que 32… e que no futuro 128 vai ser melhor que 64, e por aí adiante…

          • Nelson says:

            Fã incondicional da tecnologia?

            Desde puto que desenhava computadores e maquinetas, andei anos a chatear os meus pais para me comprarem o primeiro computador, e entrei num curso de engenharia no ramo.

            Lá por admirar uma marca… acho que estás a julgar mal…

            “eu sou mais fã da tecnologia, não me interessa muito a marca, pelo que neste momento a arquitectura 64 bits não me impressiona muito, pois não vejo grande utilidade de momento…”

            Tu não vês, porque NUNCA te passou pela cabeça o que se passa por detrás do LCD/CRT.

            Não vai aparecer nunca uma informação na interface gráfica ou qualquer programa, ou qualquer comando de sistema que denuncie que estás a correr em 32 ou 64 bits…

            Não percebes? Pois… como é que percebes a diferença entre Commodore 64 de 8 bits e um Mac de 32 bits? Na altura, também diziam o mesmo, depois, quando se começou a ver cada vez mais software a tirar partido do processador, começa-se a ver…

            “é óbvio que o sistema operativo é a primeira coisa a ser optimizada, e as restantes aplicações são gradualmente actualizadas, mas estamos a falar de ganhos nas diversas operações na ordem dos milissegundos…”

            Estás a falar de milissegundos, num mundo medido a fracçoes muito inferiores a micro-segundos (0,001 milisegundos).

            “vou ficar realmente interessado, isso sim, quando a apple conseguir meter o OS X a rodar no equipamento, de maneira que quando acoplar o iphone numa dock station ou num monitor estilo imac consiga ter o OS X a rodar com a velocidade que roda num macbook…”

            Nunca!

            “E ACREDITO QUE SE HÁ EMPRESA QUE CONSEGUE FAZER ESSA PROEZA É A APPLE…”

            Nem pensar, o Mac será sempre o Mac, e o iOS será sempre o iOS.

            “agora eu não questiono que 64 é melhor que 32… e que no futuro 128 vai ser melhor que 64, e por aí adiante…”

            A era dos 32 bits já foi há muito tempo! Quando chegar a altura dos 128 bits, chegará…

      • Nunes says:

        desculpa discordar, mas basta olhar para os testes e para as diferenças nos processadores, para verificar os benefícios que a nova arquitectura trouxe – um processador de 2 núcleos a 1,3GHz com melhor performance que processadores de 4 núcleos a 2,3GHz! E nem sequer estou a falar na vantagem de passar a usar 64bits, mas nas mudanças da nova arquitectura que vão além do 64bits!
        Há cada vez mais aplicações optimizadas para o novo processador, algumas delas tirando todo o partido do 64bits, sendo de esperar que não falte muito para que a maioria das aplicações da loja sigam o mesmo exemplo, por isso nem estamos a falar de tecnologia de 2015 mas do presente.

        • Rodrigues says:

          lá está… é exactamente por isso que ainda não vejo o total potencial dos 64 bits em acção. Enquanto “só” houver o update do que já funciona em 32 para 64 bits. O que gostava de ver era novas aplicações, novos produtos exclusivos para os 64, que levem o equipamento ao limite… que estabeleçam os limites da geração atual… Só aí se vai testar verdadeiramente a tecnologia, e se vai observar problemas, nomeadamente quanto a gastos de energia, etc.

          • Nunes says:

            há muitos exemplos de aplicações a usar 64bits na sua plenitude… desde jogos como o Infinity Blade III, a aplicações de audio e video

            para além de que o ganho em performance é visível e notório com a nova arquitectura… terás que esperar que os outros processadores passem para a nova arquitectura de 64bits para ver salto idêntico

          • Nelson says:

            Sim, e como é que sabes se uma app está a correr em 32 bits ou 64 bits?

            Todas as app’s no Xcode, são compiladas para 32 bits e 64 bits.

            Não há nada que o 64 bits faça que o 32 bits não faça, assim como não fazes nada no 32 bits qe no 16 bits não faças, assim como em 8 bits, ou 4 ou 2 ou até 1!

            A diferença é que precisas de menos instruções em 64 bits.

            A desvantagem dos 64 bits é que implica um chip mais complexo, e consequentemente, fisicamente mais complexo e maior. Mas com a redução dos tamanhos dos transístores, deixa de fazer sentido usar 32 bits, e passa-se para 64 bits, e mais tarde, quando houver “espaço”, para 128 bits.

    • Nelson says:

      Exacto, a diferença não é como do Intel 32 bits para o Intel 64 bits.

      É uma ISA completamente re-escrita, é como se fosse um chip completente diferente.

      Quanto à estabilidade… Demonstra bem as “preocupações” de quem quer, mas não quer engolir.

      • lmx says:

        nelson…
        os processadores intel usam AMD64.

        A intel não tem nenhuma arch 64 bits, que seja mesmo mesmo feita por si…a unica que teem e foi feita pela HP é a dos itanium…

        • Nelson says:

          Sim, tens razão. Tem os Itanium, que foram descontinuados.

          Eu queria dizer AMD64/Intel EM64T.

          AMD64/EM64T não fazem uma arquitectura diferente, são extensões da arquitectura existente.

          • lmx says:

            Os itatium foram feitos pela HP, mais tarde a HP alargou a parceria para o fabrico, e possivel melhoramentos em conjunto á Intel..

            Foi uma perceria win-win, como se costuma dizer…a HP tem a arch, e a intel a capacidade de fabrico em larga escala 😉

            Sim a AMD64 é uma extensão á x86 😉

    • lmx says:

      nunes…

      Normalmente uma primeira versão de algo…não é tão eficiente como uma segunda ou uma terceira versão de algo…é assim em tudo na vida…caso contrario não terias diversas versões de determinada tecnologia em que as versoes posteriores são um avanço sobre as versões anteriores…

      Não é so no software, no hardware é igual…tirando algumas excepções, é assim em tudo…

      Por isso é correcto dizer que um ARM64 actualmente não é tão eficiente como os que serão lançados em 2015…

      é uma permissa universal.

      Além de que já existe, está sempre alguém a trabalhar para melhorar a arquitectura…

      Agora…claro que é melhor ter uma maquina que já tira proveito do que ja foi feito até hoje…e nesse aspecto a Apple já se adiantou…

      • Nunes says:

        essa é para rir certo!?
        a definição da arquitectura está feita, o que tu tentas referir é melhorias no desenho dos processadores, e isso só acontece com iterações e evoluções tecnológicas, como em qualquer outra situação e como desde sempre!
        Vais dizer que isso nega existir, actualmente, uma solução ARMv8A completa, ou as vantagens claras que isso já trouxe?
        Aqui a única verdadeira questão é com que rapidez é que a maioria das aplicação tirarão proveito da nova arquitectura!

        • lmx says:

          o que eu comentei foi o facto de ser natural que um processador lançado em 2015 ser defacto superior a um lançado hoje…

          Era isso que eu estava a comentar…

          Não penses que porque desenhas-te uma arquitectura agora , ela não sofre alterações…
          isso é pura ilusão…e tens esse exemplo até dentro da ARM…para não falar da “manta de retalhos” que é a x86…

          Desde de mudanças na cache, ao tuning de melhares de elementos internos…claro que sofrem alterações…caso contrario não venderias mais micros…porque se são iguais aos anteriores…

          é evidente que a arquitectura em si a sua base não mexe…mas o que interessa as pessoas e as marcas é a performance, e essa mexe, porque existiram alterações nos cores…

          Podes ter um micro agora ARM64 com uma performance, e daqui a 2 anos tens um com o dobro da performance, e com mais funcionalidades…já houvi falar deste tema algures…

          Mas eu acho que vocês estão a comparar duas coisas que não podem ser comparadas…

          Vocẽs estão a comparar os processadores arm que a Apple tem com os Standards , ou normais…

          Como é sabido a Apple supostamente claro, alterou algumas coisas nos seus cores, e como tal deve ter ajustado as coisas a seu gosto…o que não acontece num micro standard…

          • Nunes says:

            claro que é natural melhorar processadores com o tempo, mas o que é que isso tem de relevância na discussão sobre as vantagens dos processadores ARMv8 sobre ARMv7?
            A vantagem no iPhone já existe, não é em 2015! Em 2015 haverá um processador melhor, mas a transição significativa foi há meses atrás, foi completa, processador e SO a 64bits.
            Mudanças na arquitectura só ocorrem de tempos a tempos… em 2015 ainda vais ver fabricantes a lançar os seus primeiros SoC baseados na arquitectura que já vês no A7 e outros estarão a alargar a produção de SoC que lançarão este ano.
            Aquilo que se poderá achar relevante para 2015 é a oferta alargada de telemóveis Android com processadores 64bits!
            “Mas eu acho que vocês estão a comparar duas coisas que não podem ser comparadas…”
            essa deixa-me a coçar a cabeça! Os processadores da Apple são compatíveis com os outros… pelo teu raciocínio não deverias fazer qualquer comparação entre processadores ARM

          • lmx says:

            “essa deixa-me a coçar a cabeça! Os processadores da Apple são compatíveis com os outros… pelo teu raciocínio não deverias fazer qualquer comparação entre processadores ARM”

            repara…

            todas as marcas de electrónica, esperam um processador que seja finalizado completamente, para não estarem a dar suporte de drivers, etc, e depois andarem sempre a alterar…é que a parte de baixo nivel é uma dor de cabeça, do pior que ha…é um Horror!!

            A Apple não tem esse problema, porque o que tem, foi ajustado por ela, e portanto o risco de mudanças abruptas, não vão acontecer!!
            Ou a acontecer algo…será minorado, porque a Apple faz alguns acertos a seu gosto(é esperta…os outros são parvos porque preferem poupar uns trocos, mas depois dependem do que terceiros fazem…).

            Mas o mesmo não se passa com outras marcas(Sony,Motorola,nokia,etc,etc), que esperam um processador de outras marcas(qualcomm,etc)…e esse é o problema…

            Por isso preferem aguardar por um design em que o fabricante lhes garanta que..a partir de agora, os mapeamentos de memoria, etc…são sempre os mesmos,etc,etc,etc

            Como é evidente a Apple pode antecipar algumas coisas, os outros teem que esperar, ou por receio do que já aconteceu tantas vezes no passado, ou porque não teem uma garantia expressa de que está tudo acertado…

            Não é um problema do kernel linux…esse ja suporta ARMv8 desde o kernel 3.7…a long time a ago(10 dezembro de 2012)…embora que empirico, porque só depois de haver suporte fisico é que se pode testar, e avaliar…

            Por isso é que eu referi que se está a comparar 2 coisas que não podem ser comparadas…porque uma empresa realiza determinado trabalho dentro de portas e outras teem que esperar que alguém lhes garanta que está tudo ok, porque não querem embarcar numa de aventura…é que as aventuras a este nivel saem caras demais!

          • Nunes says:

            :S
            “what”? no que é que isso impede a comparação entre ARMv7 e ARMv8, entre a Apple e os outros, a arquitectura que pode usar é a mesma; apenas estás a enunciar uma possível vantagem na forma como a Apple trabalha, que por sinal é muito parecida ao que a Qualcomm consegue com os seus SoC.
            As outras companhias simplesmente preferiram deixar o ARMv8 para mais tarde, e foram apanhados de surpresa… os processadores “móveis” ainda nem estão disponíveis…

    • Nunes toda e qualquer tecnologia recente não é muito melhor.
      Basta ver entre o Dalvik e o ART. Existem melhorias? Sim existem, foi para isso que foi criado, mas é neste momento muito melhor que o Dalvik? Não, ainda precisa de bastante desenvolvimento para se tornar muito melhor.

      O mesmo acontece com o ARMv8, é uma tecnologia recente, ainda é instável e vai precisar de muito desenvolvimento e optimizações para se tornar estável. Mas como andam sempre em desenvolvimento, é bem possível que entre 2015 2016 o ARMv8 cheque à estabilidade e aí se torne um standard.
      Actualmente o que um ARMv8 faz, um ARMv7 também o faz e bem, daí que não há necessidade de acelerar o desenvolvimento, como disse, toda a tecnologia seja em software ou em hardware, precisa de tempo para ser devidamente desenvolvida e optimizada.

      Na realidade o Apple A7 é funcional, não é estável, porque ainda tem bastantes falhas, mas a Apple considerou que estava devidamente funcional para ser lançado ao público e foi isso que fez.
      O Apple A8 será definitivamente melhor que o A7, porque a Apple já teve tempo para melhorar bem a tecnologia.

      • Nunes says:

        instável?
        eu não percebo donde é que vão buscar essas ideias! A Arquitectura é estável, já está há muito definida, a própria ARM já lançou desenhos de núcleos para os fabricantes há mais de 1 ano… há inclusive uma empresa que está prestes a lançar um processador ARMv8 para servidores… como é que alguém pode sequer pensar que é instável quando já se chegou a este ponto!
        Ainda que dissessem que o software precisa de maior optimização para a nova arquitectura, até se poderia entender, mas dizer que os processadores são instáveis!???
        Aconselho-te a veres as diferenças do ARMv8 vs ARMv7, antes dizeres essas coisas e negares o que está à vista de toda a gente!

        • Nelson says:

          Não digas verdades, senão os visitantes que querem ler isso, não vêm cá mais!

        • lmx says:

          “há inclusive uma empresa que está prestes a lançar um processador ARMv8 para servidores”

          Já lançou ha uns dias e essa marca é a AMD e os procs são os Seatle, e teem uma performance brutal, e 25w tdp…

          http://community.amd.com/community/amd-blogs/amd-business/blog/2013/12/12/amd-s-64-bit-seattle-arm-processor-brings-best-of-breed-hardware-and-software-to-the-datacenter

          Mas estes cores foram mudificados pela AMD…alias a propria tem seguido a evolução dos 64 bits da ARM, ainda se começava a falar do assunto…

          • Nunes says:

            Os cores são modificados, mas a arquitectura é a mesma ARMv8, certo? será que é assim tão difícil de compreender que a arquitectura está mais do que definida? é o que permite compatibilidade entre processadores!

          • lmx says:

            sim a arquitectura de base é a mesma ARMv8.

            Agora…não esta implicito que não vai haver mexidas no futuro….pequenas mexidas de ajuste e que não quebrem compatiblidade podem e muito certamente vão existir…

            Agora também é verdade que uma empresa que tenha feito a transição agora, esta muito melhor preparada para abarcar essas mudanças que uma que terá que fazer tudo a postriori…embora ás vezes seja mais dificil adaptar, do que fazer de novo…mas eu Acho que a apple leva vantagem…

          • Nunes says:

            qualquer mudança que ocorra na arquitectura implica que a ARM lance um novo desenho de referência… o que terá reflexo no mercado só passado algum tempo, 1 ano no mínimo…
            Mas essas mudanças só ocorrem de tempos a tempos, por isso os fabricantes melhoram o desenho dos processadores e tiram partido de melhorias no fabrico! Melhorias na arquitectura não é coisa que se esteja à espera para 2015

          • lmx says:

            boas…

            sendo que estamos em 2014, é muito pouco provável…a não ser que seja encontrado algum bottleneck crasso…e a acontecer seria para o fim de 2015…mas eu acho que não ira acontecer…mas isso também sou eu que não estou por dentro, como aliás todos nós…

      • Nelson says:

        Gostava de ver essa “instabilidade”.

        Um exclusivo do laboratório pplware?

      • Rodrigues says:

        Concordo a 200%. Está aqui toda a gente a discutir velocidades, e potencial, etc…
        Na verdade não é isso que se trata na release da Apple. Em primeiro lugar é bom para o marketing, e em segundo lugar colocou em sentido as concorrentes. É principalmente por isso que saiu já os 64 bits. Mas também resulta da Apple ter mudado a sua estratégia… No tempo do senhor Jobs, ele teria retido a tecnologia até ser verdadeiramente funcional, sem falhas, e a fazer maravilhas de deixar qualquer um espantado.

        • Nunes says:

          mesmo!? só marketing?
          então como é que há tantas aplicações que tiveram saltos enormes em performance no iPhone 5S?

        • António says:

          Neste momento há milhares de programadores felizes da vida pelos 64 bits.

          Por exemplo é muito mais fácil/barato converter um programa do OSX para iOS.
          Além que muitas apps limitadas pelo 32 bits agr tem as mesmas condições que tem no desktop para execuções mais pesadas.

      • Nelson says:

        ARMv8 precisa de muito desenvolvimento e optimizações?

        Ahah! Essa é que é boa!

        ARMv8 é um projeto teórico, é uma instruction set architecture, e não é mais que uma lista de especificações (instruções, registos, locais de memória, etc.) para desenvolver micro-arquitecturas, que serão implementadas em cores (realização física das micro-arquitecturas).

        ARMv8 é já um standard, sim!

        É tanto standard que é o que a ARM “vende”, e no mundo móvel, só não o vês no Android porque o software e os fabricantes não estiveram prontos para ele.

        Mas isso é problema do Android, no iOS, está tudo pronto, no Linux, idem, aliás, como o lmx disse, já existem CPU’s prontos da AMD, e a correr em servidores, e outros dispositivos móveis para além de android’s.

        Eu ainda continuo a saber qual é a falha do A7.

        A resposta é NENHUMA!

        Tem-se vendido dezenas de milhões dos chips, e ninguém tem tido problemas. Tem tido crashes, sim, agora uma coisa é um bug no hardware, outra coisa é um bug no software, e não tens absolutamente bug nenhum no hardware, até porque o hardware é muito simples de testar. É simplesmente uma máquina de estados.

        • Standard?
          Nelson não sabes definitivamente do que falas.

          O ARMv8 não é standard ainda, será, daqui a uns anos.
          Antes de falares deverias procurar um pouco mais. A Apple só se adiantou a lançar um SoC nada mais. Inclui tecnologia ARMv8 antiga (desenvolvimento até há data do seu fabrico). Neste momento a tecnologia já vai muito mais à frente, melhores funcionalidades, menos bugs, etc.

          Neste momento o ARMv8 está ao nível de um software em versão beta, com falhas, bugs, e outras coisas que ocorrem inesperadamente (instabilidade). Ainda precisa de bastantes melhoramentos até chegar ao seu real potencial.

          Só para comparação, o Snapdragon 800 e o Tegra 4 conseguem quase a mesma performance do Apple A7, o Snapdragon 800 é ligeiramente melhor que o A7 a nível processamento gráfico e fica +/- equivalente em processamento normal.

          Um bom ARMv7 consegue se equiparar ao actual estágio do ARMv8 64bits. O ARMv8 ainda precisa de bastante desenvolvimento até chegar ao seu real potencial. Entre 2015 e 2016 isso vai acontecer, porque o ARMv8 vai-se tornar no standard, substituindo assim o ARMv7.

          O ARMv7 só se tornou standard depois dos topo de gama terem passado para esta arquitectura, até lá o ARMv6 ainda andava na baila. Na altura do iPhone 4 ainda saíram equipamentos com ARMv6, só para referência.
          Agora não se vê nenhum, mesmo que low end, com ARMv6, simplesmente porque a arquitectura morreu e foi substituída pela versão 7.

          Onde é que o ARMv8 pode ser Standard se ainda só existe um equipamento com ele? A Nvidia vai lançar no segundo trimestre deste ano o Nvidia K1 64bits e possivelmente deverão depois sair equipamentos com ele.
          Volto a referir, só para 2015 / 2016 é que ela se vai tornar Standard quando a maioria começar a usar esta arquitectura em detrimento da ARMv7.

          • Nelson says:

            Não vale a pena…

            Ridículo, a própria ARM lançou a arquitectura há vários anos atrás, tem no seu site para licenciar, tem inclusive já cores físicos (série ARM A50), tem tudo, tu fala, falas, mas não pões fontes.

            Fica com a tua.

            Além disso, arranja aí um dual core 1.3GHz com a performance do ARMv8, “cheio de bugs”… Pois, não existe nada sequer comparável em quad-core ao processador da Apple, não existe nada que o bata, mas de longe, em single core, porque nem todas as aplicações podem ou beneficiam de ser paralelizadas.

          • Padrão ou Standard designa-se por algo se tornar regular no mundo.
            O ARMv8 é um standard DA ARM, mas isso faz com que uma tecnologia seja standard no mundo? Não, claro que não.

            “A standard is a document that provides requirements, specifications, guidelines or characteristics that can be used consistently to ensure that materials, products, processes and services are fit for their purpose.”

            O ARMv8 é actualmente um standard da ARM e da Apple, mas ainda não o é por todos os fabricantes, logo, não é um standard mundial.
            No entanto como referi, o ARMv8 já é um standard para a Apple desde o seu lançamento no iPhone 5S e no iPad Air.
            Quando a Qualcomm disponibilizar os processadores 64bits, então aí sim, tornará-se num standard mundial, visto que os fabricantes de equipamentos móveis irão adoptar esses novos processadores. Até lá, só é um standard da ARM e em uso pela Apple.

            Tenta perceber que existem dois tipos de standard, o definido pela empresa criadora e a adopção para standard mundial, onde todas as empresas aplicam aquelas especificações, guias, características ou requisitos nos seus serviços ou produtos em detrimento de outras.

        • Nunes says:

          @ Helder Ferreira
          será que lês o que escreves?
          “ARMv8 antiga”?
          Santo deus! Sabes sequer o que é que isso implicaria? Sabes que quase todas as companhias estão a construir processadores baseados em núcleos ARMv8 já feitos pela ARM? Como é que iria haver núcleos da ARM se ainda estavam à espera de alterações na ISA? Isso implicaria terem de lançar outro desenho de referência! A arquitectura está definida, e todos estão a usar a mesma versão para construir os seus primeiros processadores, não há uma versão mais moderna! Talvez apareçam adições/modificações no futuro, mas demora sempre 1-2 anos entre ser apresentada publicamente e haver processadores no mercado – e ainda não houve nada de novo apresentado!

          “Snapdragon 800 e o Tegra 4 conseguem quase a mesma performance do Apple A7”
          lol! Mas queres enganar quem? A performance teórica que têm é inferior e só é possível ao usar 4 núcleos e a mais de 2 GHz, algo que não conseguem manter durante muito tempo e só nalgumas situações! Quando um SoC ARMv8 consegue ter melhor performance com 2 núcleos a 1,3GHz, acho que não é preciso dizer mais nada quanto aos ganhos que traz. O GPU é independente da arquitectura ARM, e não, o Snapdragon 800 não é melhor, o Tegra 4 é que consegue ser melhor nalguns equipamentos, embora todos andem muito próximos!

          “Entre 2015 e 2016 isso vai acontecer, porque o ARMv8 vai-se tornar no standard”
          estás a usar standard no sentido de uso alargado no mercado, mas standard tb é sinónimo de um modelo que todos devem seguir para manter compatibilidade, e nesse sentido a arquitectura ARMv8 é um standard nos processadores da ARM, pois é o que toda a gente vai usar para construir um processador ARM 64bits!

        • Nunes says:

          @ Hélder Ferreira
          fiquei a rir um bom bocado com essa!
          meu caro, se os outros não seguirem o standard ARMv8 definido pela ARM, os seus processadores simplesmente não serão ARM, o que muito dificilmente será adoptado pelos dispositivos que se está a discutir – não estamos a falar do desenho de núcleos, mas da ISA!
          Se queres falar em adopção alargada dos processadores, tudo bem, é óbvio que é uma coisa que vai demorar, dado o atraso e a variedade de gamas de produtos! Mas não venhas com esse malabarismo todo, negando o outro sinónimo de standard só porque é diferente do que o que querias dizer, pior ainda, sabendo que todos os outros estão a seguir esse standard na construção de processadores que devem sair dentro de meses!
          É até ridículo dares a definição de standard, e depois negares a definição que acabaste de escrever!

          • Nunes, a ARM é uma arquitectura que tem standards que podem ser seguidos ou não, nenhuma empresa é obrigada a seguir os standards.
            Tanto a Apple como a Qualcomm não seguem os standards da ARM. Se não sabes isto, então deves procurar saber isso.

            O Snapdragon é desenhado pela Qualcomm e segue uma estrutura diferente da definida pela ARM. São baseados no Cortex-A8 até ao A15 (têm algumas funcionalidades originais da ARM) e seguem naturalmente as instruções do ARMv7 e brevemente as do ARMv8.
            Neste momento só o Exynos, a MediaTek e a Broadcom (acho) é que usam a estrutura e os vários standards da ARM, até já foi questionado o porquê da Samsung não desenhar os seus próprios standards em vez de seguir os da ARM.
            Mais um exemplo, o big.LITTLE é um standard da ARM, mais alguém usa para além da Exynos e MediaTek?
            A Apple usa o Apple M7 em vez do NXP Semiconductors usado pela ARM.

          • Nunes says:

            Devias ler e pensar com mais cuidado!
            O que a Apple e a Qualcomm não usam são os desenhos de referência para núcleos da ARM, mas usam as ISA’s da ARM, que é do que se está a falar!
            A ARMv8 é a ISA que “cobre” o 64bits da ARM! Se não o fizessem não teriam compatibilidade de código! Mencionei repetidamente isso!
            A arquitectura (ISA) é o standard, o desenho do núcleo pode variar…
            Por isso o que dizes só reforça o que já afirmei! Os fabricantes podem fazer muitas variações, mas têm que seguir o standard da arquitectura – ARMv8!

            Apple M7?
            o que é que isso tem a ver com a discussão? é um microcontrolador para processar informação de sensores de movimento, por sinal baseado no Cortex-M3 da ARM! Não está no SoC, nem tem qualquer semelhança com o que referes do ARM big.LITTLE, que é para processadores de aplicações!

          • Nunes, tu é que estás a fazer imensa confusão, porque o que disseste, eu já o disse imensas vezes tu é que insistes em distorcer o que digo.
            Claro que todos têm de seguir o ISA, se não, iria ser um grande problema. Eu não falei que, por exemplo, as instruções do ARMv7 da Qualcomm é diferente dos da Apple ou de qualquer outro.

            Eu falei na estrutura do processador, dos Cores por exemplo, tal como disseste e bem, podem ser desenhados por outra empresa ou então seguirem o modelo da ARM, como faz a MediaTek e a Samsung no Exynos.

            Em lado nenhum eu falei que o ARMv7 ou o v8 são diferentes de um para outro processador, claro que têm de seguir uma norma para serem “compreendidos”.

            Ficamos por aqui, tem um uma boa noite 🙂

          • Nunes says:

            Mas onde é que eu estou a distorcer?
            Falou-se sempre do ARMv8, e só agora é que vens com o argumento de que os standards são os desenhos de referência, talvez na tentativa de rescreveres o que já tinhas dito.
            Mas não é admirar muito, quando falavas em ARMv8 antigo e instável… ou mencionas o M7 sabe lá deus porquê

  3. lmx says:

    Excelente artigo 😉

    Pois nem sequer imaginava que o android usava jit :S

    Sempre pensei que usasse AOT…

    Há uma coisa que não percebi muito bem no artigo…nos testes realizados com jit/aot/jni…

    O jit pode ser muito mais rápido que os outros dois métodos…o problema é que o jit compiling precisa dos tempos de compilação dinamica…para “speedar” a aplicação…chamados de warmup times, e isto é que torna a aplicação lenta…porque a jvm está a trabalhar arduamente para optimizar o código…neste tempo a aplicação é lenta…

    Uma aplicação desktop, muito dificilmente tira partido de jit compiling…a não ser que seja uma aplicação que tem que lidar com muita info, durante bastante tempo…um telemóvel não faz isso, e nem 90% ou mais das aplicações mobile…

    No entanto, e se uma plicação correr em pano de fundo sempre sem terminar…pode tirar partido do mesmo…mas só depois do warmup…

    No jit compiling para melhor eficiencia devemos dizer na aplicação o ćodigo que queremos usar jit…porque senão todo o código que correr vai ser usado pelo jit para compilação…tornando a aplicação mais lenta(duvido que as pessoas que fazem app’s tenham esse cuidado.., ou o conhecimento)…

    o jit baseia-se na permissa de que 80% das vezes num programa …é corrido apenas 20% do seu código…o que é mais ou menos verdade nos servidores…aí sim, o jit tira partido(…depois do warmup).

    É mais ou menos unanime que se o objectivo é a aplicação arrancar rápido…então usa-se AOT…mas se o objectivo for ela trabalhar rápido depois do arranque e do warmup, então usa-se jit(partindo do principio que é uma aplicação para correr em background)…
    Mesmo depois do warmup a aplicação ainda não está optimizada ao limite…e vai continuar a optimizar muito lentamente apartir daqui(dependendo do tempo de warmup definido na jvm por nós…).
    Por isso devemos escolher tempos de warmup, que não prejudiquem em demasia o deploy/funcionamento da mesma após o arranque, mas que consiga oferecer a maior percentagem de eficiencia…normalmente consegue-se descubrir este ponto de equilibrio após varios testes…e ai toma-se uma decisão(define-se o tempo de warmup)…

    É claro que nada disto deve acontecer no android…digo eu.

    O Android na pior das hipótses deveria funcionar com AOT…(jni, sim era um must 🙂 ).

    Os meus parabens pelo artigo 😉

    cmps

    • urtencio says:

      Excelente artigo!!

      Mas também quero dar os parabéns a este senhor^^ pelas grandes intervenções que faz nos seus comentários, na qual leio e sigo já algum tempo. Pois são construtivos e transmitem conhecimento, complementando muitas das vezes os artigo expostos.

      O que me deixa curioso de qual será a sua atividade profissional, por ter conhecimentos tão profundos em certas áreas. xD

      Parabéns lmx, e continua com os excelentes comentários!!

      • lmx says:

        Obrigado 😉

        O Grande culpado foi o Helder Ferreira 😀

        Ele é que criou este artigo expectacular, e eu…entusiasmei-me 😛

        Eu adoro a Area de sistemas operativos(software, microprocesadores, microcontroladores,etc)…sempre foi a que me fascinou mais(a Electrónica é outra das minhas grandes paixões), e tudo o que esta em redor…, trabalho na Area de sistemas( com um “pezinho” na Electrónica 🙂 ).

        É uma area muito bonita e tão vasta…

        O portugues por norma, é muito competente!
        É obrigado a trabalhar com tudo, porque a realidade do nosso País com 11 milhões de pessoas não nos permite ter uma pessoa a fazer apenas uma coisa,como acontece noutros Países…

  4. António says:

    Parabéns pelo artigo, muito bom mesmo, gostei!

    Continuem o bom trabalho.

  5. Nelson says:

    “Neste momento um processador 64bits não é muito melhor que um bom processador de 32bits. De certo que daqui por uns anos esta nova arquitectura irá tornar-se standard e irá dominar o mercado, mas por enquanto esta plataforma ainda precisa de muito desenvolvimento e optimizações até ser considerada estável e totalmente funcional. Como é o caso do Apple A7 que por ser o primeiro ARMv8 comercial, é bastante instável e como usa tecnologia ARMv8 antiga, ainda não suporta totalmente um sistema 64bits.”

    Enfim…

    Eu tenho dois dispositivos A7, e nenhum tem problemas de instabilidade. Tiveram bugs, sim, mas foram bugs de software, não de hardware, e esses bugs já foram corrigidos há muito.

    E sim, são ARMv8, antiga? Antiga comparado com o quê? A verdade é que os fanboys do android não lhes apetece mastigar o facto do iOS já estar 100% preparado para a proxima evolução da tecnologia ARM, e não haver nada comparável na concorrência.

    E se restam dúvidas sobre os ganhos do 64bits, é só comparar o iPhone 5 e o 5S, têm o mesmo número de cores, a mesma frequência de relógio, até o mesmo OS, no entanto, o 5S, segundo a Apple e os benchmarks, tem “só” o dobro da capacidade de processamento que o anterior, e o suficiente para eclipsar qualquer tablet ou smartphone android.

    Mas fica lá com a tua, o ARMv7 é muito mais avançado… Não é?

    • Android +1 says:

      Claro que ainda não hà nada na concorrência, pois o iphone saiu em Outubro (penso que foi ai), enquanto que a altura dos lançamentos dos topo de gama android é apenas entre Fevereiro-Junho. E de qualquer maneira QUAL É A UTILIDADE DE TER UM PROCESSADOR 64-BITS?

      • Nelson says:

        Pois, e a concorrência, não podia ter apresentado CPU’s de 64 bits em Fevereiro-Junho de 2013?

        Andam de arrasto, é o que é… enquanto a Apple não mostrar o benchmark, eles não fazem nada, para depois apresentar novos produtos só para dizer “faz tudo o que faz o iPhone, mais um!”… engasgaram-se nesta do ARMv8, até a Qualcomm se engasgou…

        Quanto á utilidade de ter um processador de 64 bits? Muito simples, se queres mesmo saber, matricula-te num curso de Engenharia Informática, ou Engenharia Electrotécnica e de Computadores, ou de Ciência de Computadores, e no fim, podemos discutir isso. Agora “assim”, eu não tenho a paciência…

        • Paulo Soares says:

          Nelson ja que me estas a fazer rir como o gato fedorento vou deixar aqui uma frase inspirada no momento atual deles. “Fica com o teu tijolo que nos ficamos com o nosso”. E deixo te uma pergunta porque vens para um topico de android falar de macas ?….. Sou mestrado em engenharia informatica compreendo bem os seus beneficios, mas tb nao e um silver bullet que fez o 5s 2x mais rapido que 5. Quanto ao questao do 5s eclipsar qualquer droid em performance, sugiro nao que tires um curso superior mas sim que abras os olhos

          • Nelson says:

            Tira tu um curso superior, porque tu estudante engenharia informática, mas eu estudei engenharia electrotécnica e de computadores, aqui quem percebe de hardware sou eu e não tu.

            E arranja lá um android que seja 1 ponto mais rápido que o iPhone 5S no GeekBench (a única disponível nas dias plataformas)…. Pois… Zero!

          • Paulo Soares says:

            Senhor Nelson, eu não sou estudante, sou mestrado em engenharia de computadores e telemática na universidade de Aveiro, usei o termo informatica para não massar as pessoas ponto numero 1. Ponto numero 2 o iphone 5s e superior em operacoes single core, em multicore por exemplo segundo a aplicacao que sugeriu um nexus 5 e superior e custa metade do preco.

          • Nelson says:

            @Paulo Soares: por acaso, tem razão, peço desculpa, pois pelos testes de outros dispositivos com o mesmo CPU (SD800), o 5S ficava á frente.

            Porém, a diferença do iPhone 5S para o Nexus 5 em single core, é mais significativa que o ganho do Nexus 5 para o iPhone 5S.

    • larterpt says:

      Desde quando a arquitectura influencia os scores de brenchmarks? Que eu saiba o principal responsável pelo aumento desse desempenho é nada menos que o gpu, se não me engano é uma powervr G6430.

    • Nuno Vieira says:

      A diferença de performance entre os dois iPhones não é relacionado com este ser de 64 bits, mas sim porque a nova arquitectura é bastante superior. Como por exemplo, mais registradores, mais cache,… Se o a Apple utilizasse o mesmo SoC mas com uma versão de 32 bits do iOS a diferença de performance entre ambos iria-se manter basicamente a mesma.

      • Nelson says:

        A nova micro-arquitecutra é bastante superior em parte, por implementar o conjunto de instruções do ARMv8, os tais registos extra (e não “registradores”), as instruções extra, etc.

        Portanto, não sei onde queres chegar. A Apple podia usar a ARMv7 numa nova micro-arquitectura, sim, podia fazer melhor que a micro do iPhone 5, bem, esse já tem a melhor micro-arquitectura do mercado (mesmo agora), fazer melhor, sim, de certeza que era possível, agora fazer 2x melhor? Tenta tu… lol

        • Nuno Vieira says:

          Peço desculpa, mas na altura que tirei o meu curso a muito pouca documentação que se encontrava em português eram do brasil, e portanto o termo ficou. Espero não te ter ofendido.

          Onde quero chegar é que se o iOS fosse de 32 bits no 5S a diferença de performance entre o 5 e o 5S iria-se manter a mesma.

          Já agora, ouviste-me a dizer mal do SoC da Apple para vires com esse comentário de holier than thou?

      • Nunes says:

        discordo na parte em que dizes que terias a mesma performance se o iOS fosse a 32bits! Alguns dos destes realizados na altura mostraram ganhos entre 10 a 20%, se não me engano, ao passarem uma aplicação de 32bits para 64bits no iPhone 5S (ambas)!
        Mas é verdade que grande parte do ganho advém de muitas mudanças na arquitectura!

        • Nuno Vieira says:

          Teste realizados por quem? Alguma entidade independente?

          • Nunes says:

            vê na Anandtech, é mais do que respeitada e competente. Fizeram testes comparativos 32bit vs 64bits
            http://www.anandtech.com/show/7335/the-iphone-5s-review

            tenho no entanto a ideia de que vi outra comparação noutro lado, em que diziam mais ou menos o que eu disse. Um que repete a ideia:
            http://daringfireball.net/2013/09/the_iphone_5s_and_5c
            mas foi noutro sítio que tinha visto

          • Nuno Vieira says:

            Desculpa-me lá a ignorancia mas onde é que mostra que uma aplicação de 64 bits têm uma clara vantagem sobre uma de 32 bits?

          • Nunes says:

            Tens lá vários quadros e gráficos que mostram essas diferenças. Numa das páginas mostram e falam nas diferenças usando os vários testes do Geekbench
            http://www.anandtech.com/show/7335/the-iphone-5s-review/4
            Noutro mostram gráficos em que aparecem resultados do iPhone 5S com a versão 64bit do Geekbench e tb com a versão 32bit
            http://www.anandtech.com/show/7335/the-iphone-5s-review/6

          • Nuno Vieira says:

            Se vires bem os resultados onde 64 bits tem a grande vantagem é na criptografia e compressão e aplicações que movam grande quantidade de dados. Isso já era de prever. Mas isto raramente é o caso de grande parte das aplicações. O mesmo se passa no Windows, Linux,… Apenas certos tipos de aplicações tem vantagem em ser de 64 bits, as restantes é indiferente. A grande vantagem dos 64 bits para essas aplicações é a capacidade de conseguirem endereçar mais memória.

          • Nuno Vieira says:

            E eu não sei ao certo como é que as aplicações de 32 bits correm no iOS 7 de 64 bits. Nos restantes SO (Linux, Windows,…) utilizasse um “emulador”.

          • Nunes says:

            e… não é só na criptografia que há ganhos!
            Se reparares eu falei em ganhos de 10-20%, não falei em 200% ou 800%! Os testes mostram que são possíveis ganhos com o código de 64bit, ao contrário do que estavas a dizer, embora é óbvio que em muitas aplicações não tenha impacto.
            Emulação? não há emulação, a arquitectura permite correr código 32bits num sistema operativo de 64bits, sem impacto… deves estar é a confundir com a necessidade dum hipervisor de 64bits para correr um SO de 32bits nestes processadores

            e já vês aplicações a tirar grande partido do 64bits

          • Nuno Vieira says:

            O Windows utiliza o WOW64 para conseguir correr aplicações de 32 bits na versão de 64 bits.

            Esquece, em 64 bits aplicações de benchmark vão ter a vantagem. Eu estou a falar nas aplicações normais e não num benchmark sintético.

            E quais são as aplicações que mencionas que estão a tirar grande partido dos 64 bits?

          • Nelson says:

            Os benchmarks sintéticos emulam as condições reais.

            Existem razões para usarem compressão de dados e cifras nos benchmarks, é que são idênticas ás operações de procura e substituição, onde uma palavra comprida (mais bits) tem vantagem sobre uma palavra mais curta.

            Se isto não te bastar, olha, fica na tua, e já agora, volta para o teu Spectrum ZX de 8 bits…

          • Nunes says:

            @ Nuno Vieira
            O Windows não serve de exemplo… usa emulação por opção, mas os processadores de 64bit têm suporte para 32bit! O Mac aproveita o suporte de 32bits do processador Intel, e o iOS tb no A7! Não há emulação!

            O benchmark serve de referência para possíveis ganhos – é essa a lógica dos benchmarks. Se te tivesses calma para pensar um pouco, aproveitarias para comparar o ganho possível com 64bits com o ganho possível no global do novo processador face ao anterior, com o mesmo benchmark!
            Verificarias um ganho de 10-20% por 64bits contra um ganho de cerca 100% entre processadores!
            Este tipo de análise serve para pôr as coisas em perspectiva, não é para assumir que é o que se verifica em todas as aplicações – umas terão menos outras terão mais ganhos! Mas o que é indesmentível é que é possível ter ganho com código a 64bits!

            Apareceram várias aplicações a 64bits passado pouco tempo, desde jogos, a programas de video, audio e imagem!
            já dei alguns exemplos noutros comentários acima!

  6. Android +1 says:

    Muito bom artigo. Parabéns

Deixe um comentário

O seu endereço de email não será publicado.

You may use these HTML tags and attributes: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

Aviso: Todo e qualquer texto publicado na internet através deste sistema não reflete, necessariamente, a opinião deste site ou do(s) seu(s) autor(es). Os comentários publicados através deste sistema são de exclusiva e integral responsabilidade e autoria dos leitores que dele fizerem uso. A administração deste site reserva-se, desde já, no direito de excluir comentários e textos que julgar ofensivos, difamatórios, caluniosos, preconceituosos ou de alguma forma prejudiciais a terceiros. Textos de caráter promocional ou inseridos no sistema sem a devida identificação do seu autor (nome completo e endereço válido de email) também poderão ser excluídos.