Some Thoughts on the obscurity and the ark

Some Thoughts on the obscurity and the ark

Huawei's obscurity system has been officially released, published a lot of information on the conference, but for important details still missing a lot of information (after all, no use case, no data, no code), leading to now I have not a clear conceptual model of the system (feels more like a "synthesizer", what are involved). This article will talk about the system and obscurity Ark compiler based on existing information, but also at the press conference I think it improper wording questioned.

The wording of the question

  1. The first is about Linux. Said at the press conference Linux is a "bloated kernel", the current PC and server used in GNU / Linux kernel really bloated, but the Linux kernel itself is can cut customizable kernel, there are versions (uclinux) for embedded platforms . So remark is wrong. Secondly, Linux kernel bloated is not without significance, I spent 2009 to buy a computer and then install Fedora 21 has been upgraded to Fedora 28, Linux kernel, there are many old drive to make it run on old equipment. It is too bloated, free to download the source code to crop, after all, it is free software, not just open source software.

  2. Application Caton There are many reasons (for example, a background application to seize the computing resources, algorithm optimization, UI thread blocking, etc.), garbage collection (GC) is just a minor reason, not every first GC will suspend all of the threads (parallel under recovered understand), followed by most of the GC in milliseconds or a few dozen milliseconds to complete (the impression, not verified), typically 60 msec pause was perceived to dropped frames. If the GC application results in Caton, mobile phone manufacturers in respect of reflection. If too many background service or program itself has a problem, no matter what the system is what language will Caton, GC is not the main reason.

advantage

  1. "The first applies to distributed microkernel-based operating system for all scenarios", these words come apart, obscurity is not the first one, but multiple combinations of conditions, it is the first. Each condition has its advantages and disadvantages, I do not know how to avoid weaknesses obscurity.

  2. Compatible with Linux and Android, though not the first to do this the system (e.g., Sailfish OS, and GNU / Linux can be run by the simulator and the adaptation layer, etc.).

  3. Domestic (do not know whether it was completely customize), which can be regarded advantage of it.

Shortcoming

  1. "Develop once run anywhere", Ark compiler is compiled to machine code, do not have the portability, this should be the Java twenty years ago the phrase "compile once run anywhere" step backward, it does improve performance, but the cost at the expense of portability, but also introduces a potential level of language compatibility issues. It should be considered "user friendly, but unfriendly to developers," the little bar. (Later to give more thought to play multiple vendors on multiple platforms bag, tired heart)

  2. Performance bottleneck. Ark compiler compiles Java code uses reference counting memory management (RC) and "smart loop elimination." (It should be a similar GC dynamic memory management technology it), the performance is not as good as the kind of static C ++ memory management and RC fitting manner, not as Rust XX management like that. A bit like the feeling of "Ark Java compiler to catch up with C ++" is.

  3. The upstream issues. Java has now released a Java 13, Android version supports only the high part of the Java API 8, only supports syntax features to Java 8. Ark compiler supports Java version of what version? Google followed behind or behind Oracle? Or their own R & D Java? Java is currently six months to release a version, a large version of Android a year, can now be maintained iteration upstream of a maintenance problem.

  4. Statically compiled problem. Dynamic languages ​​and static languages ​​of the fight a long time, is not necessarily stronger than the static dynamic. Fields, the advantage that the static properties, wherein dynamic flexibility, static bound blindly has its limitations and shortcomings.

  5. Fragmentation problem. If Hong Meng just like Android as open source, finally had to face the problem of fragmentation and the Android system as uncontrollable.

doubt

  1. I do not know how the quality of the Ark compiler to compile C / C ++ is.

  2. Multi-terminal application management, for example, to install the Linux version of Firefox for Android Firefox and other applications and how are these two applications communicate and ensure safety.

  3. Problem owners. GNU / Linux installed after the user has absolute control ownership (in other words, free), only partly free (even if the root is no full control), then the obscurity of the user Android users? (For example, I want to delete a service running in the background of the ad occupies computing resources, it will have this privilege?)

  4. There will be no Java virtual machine stack trace how to do? Application hot start how to do?

  5. Problem mule and horse, GNU / Linux can be done on the development of GNU / Linux GNU / Linux, you can cast in the development of Hong obscurity.

Impressions

Information given from the conference to see, obscurity has many advantages, but looking at the ignorant amateur (professional too many things), but also professional looking ignorant (not too much explained), said "We are very good," but did not say "how good we are, where excellent." As a developer, I feel Huawei put a lot of pressure to push the developers (such as manufacturers adaptation, application adaptation, change the development environment)

Published 16 original articles · won praise 11 · views 10000 +

Guess you like

Origin blog.csdn.net/zssrxt/article/details/99071655