[ROM] [4.4.4] [-O3] CyanogenMod 11 + JustArchi Android Optimization [Build 5.0 (M11)]

Search This thread

KcLKcL

Senior Member
Dec 3, 2011
969
662
Jakarta
This is the first ROM I've ever built after years of using Android.
So this is CyanogenMod 11, compiled fresh from source with JustArchi Android Optimizations (This Commit). Linaro 4.7 is used to build the ROM & Kernel for a balance between performance & stability (4.8 gives too much problem). Also the target user is user (instead of userdebug) because it reduces debugging modules which will make the phone faster, the downside? This ROM is Odexed and Unrooted

Disclaimer:
I do not take responsibility of:
Bricked Phone
Data loss
Nuclear War
Losing your job because the alarm didn't go off
TLDR, use this at your own risk!


What is JustArchi Android Optimizations?
Basically, It's a patch for the Android Source. It patches the compiler flags so it's compiled with -O3 optimization (and others) to the WHOLE ROM, not just Kernel.

Why?
Android's default flag is -Os, which is "Optimize for Size". It makes sense because back then, phone storage are small. But phones has advanced, so we can optimize it further with -O3, even though it makes the ROM a little bit larger. This increased the performance up to 6X! (Remember, UP TO 6X, not TO 6X).

It could just be a placebo!
Well it could be, but I can assure you that it is not. Few days prior to building this ROM, I flashed another ROM, and switched to ART immediately. It took a long time to generate the "ART Cache", aka doing the AOT Compilation. I just tried again with this build, and it is INDEED much faster. It almost as fast as generating dalvik cache.

Why is it unrooted?
Because this build's target user is user instead of userdebug, user disables debugging modules and root, in exchange with higher performance. For now you can flash SuperSU zip (like I do) if you want root. Tell me if you prefer the CM built-in Superuser or SuperSU. Personally I prefer SuperSU, but I can make it pre-rooted if you guys want it (It only need one commit :D)

Credits:
CyanogenMod Team
@JustArchi

Summary:
  • CyanogenMod 11 (stable branch, milestone builds)
  • JustArchi Android Optimization (-O3 in the WHOLE ROM, not just kernel)
  • Compiled with Linaro 4.7
  • Unrooted
  • Odexed

ROM Downloads
Google Drive


GApps
You can use TK Gapps


XDA:DevDB Information
CyanogenMod 11 + JustArchi Android Optimization, ROM for the Google Nexus 4

Contributors
KcLKcL, JustArchi
Source Code: https://github.com/cyanogenmod/

ROM OS Version: 4.4.x KitKat
ROM Kernel: Linux 3.4.x
Based On: CyanogenMod

Version Information
Status: Stable
Current Stable Version: Milestone 11
Stable Release Date: 2014-10-09
Current Beta Version: 20140704
Beta Release Date: 2014-07-04

Created 2014-07-06
Last Updated 2015-07-07
 
Last edited:

KcLKcL

Senior Member
Dec 3, 2011
969
662
Jakarta
Reserved

Changelog
Builds are based on the stable branch of CM, which is the base of Milestone builds. Although he CM team keeps the branch updated for bugfixes from the latest Milestone release so I try to keep with the latest source of the CM Branch, so I can ensure there will be no bugs on my build :)

Build 5.0 - 20141009
  • CyanogenMod 11 Milestone 11!

Build 4.0 - 20140916
  • CyanogenMod 11 Milestone 10!

Build 3.0 - 20140804
  • CyanogenMod 11 Milestone 9!

Build 2.2 - 20140715
  • Synced with latest CM Stable Branch (more bugfixes from the CM Team!)
  • Compiled with Linaro 4.7 for both ROM and Kernel to avoid problems introduced when compiling with 4.8 (hopefully)
  • That means, the lens blur FC has been fixed!

Build 2.1 - 20140711:

  • Synced source with the latest one in the stable branch (many bug fixes, including the video recording bug, is fixed). Basically, this is CyanogenMod 11 M8 with bugfixes cherry-picked
  • No changes from Build 2 apart from the bug fixes.


Build 2 - 20140709:
  • Based on CyanogenMod 11 M8! This ROM is now build based on the CM11's Stable Branch. Next build will be at CyanogenMod 11 M9, OR if there's something that I need to add there might be build 2.5.
  • ROM is now compiled with GCC 4.8! This should bring more performance improvements over Build 1. Kernel is still build with GCC 4.7 due to compile errors (you can flash another kernels to overcome this.
  • Applied ART Fix for building with GCC 4.8, so this build supports ART with no bootloop!
  • Please note that upgrading from Build 1 which was a nightly, is not recommended by CM due to release type difference, it's not recommended to upgrade from nightly build to a Milestone build. If you're feeling brave, feel free to dirty-flash over Build 1. And if Settings keep FCing when you dirty-flash, see this post

Build 1 - 20140704:
 
Last edited:

blackbird5308

Senior Member
May 20, 2011
170
153
Padua
Thanks man! was really watching out for something like this since i heard of Archi's work!
Still i would REALLY prefer a userdebug (Superuser) rooted build, like official CM :)
 

fr3quency

Senior Member
Sep 20, 2008
2,199
856
32
Patra
fr3quency.deviantart.com
I'm having issues flashing PA Google Keyboard.

file_getprop: failed at stat "/system/build.prop": No such file or directory
E:Error executing the updater binary in zip 'sdcard/ROMs/GApps/Google Keyboard - 20_06_2014.zip'
Error flashing zip 'sdcard/ROMs/Google Keyboard - 20_06_2014.zip'
 

KcLKcL

Senior Member
Dec 3, 2011
969
662
Jakarta
Thanks man! was really watching out for something like this since i heard of Archi's work!
Still i would REALLY prefer a userdebug (Superuser) rooted build, like official CM :)
Actually, JustArchi said it's possible to keep root access while the build target = user. I will try to include CM's Superuser in the next build then! And I'd keep it user since it is said to improve performance by reducing debug codes which we usually don't need. (Personally, I don't, up to this point).

I'm having issues flashing PA Google Keyboard.

file_getprop: failed at stat "/system/build.prop": No such file or directory
E:Error executing the updater binary in zip 'sdcard/ROMs/GApps/Google Keyboard - 20_06_2014.zip'
Error flashing zip 'sdcard/ROMs/Google Keyboard - 20_06_2014.zip'

Sounds like your recovery isn't compatible or the zip is broken. Error executing updater binary has nothing to do with ROMs usually :)
Also I'm using PA Gapps as well, although I don't flash Google Keyboard (I only flashed Mini Modular Gapps, Chrome, Google Camera, and Google Play Games addons). It works!
 

KcLKcL

Senior Member
Dec 3, 2011
969
662
Jakarta
But it works on official Nightly builds.
Wait, I should've read the logs correctly.

It's says it can't find build.prop in /system, have you actually installed the ROM prior to flashing the GApps?

Try:
(Redownload all the zips if necessary)
Flash ROM
Flash GApps as possible
If Google Keyboard fails to be flashed again, try booting the ROM for the first time, and check if /system/build.prop is actually there (it should be, because I think Android wouldn't even boot without build.prop)
Reboot to recovery and try flashing Google Keyboard again.
 

slipknot31

Senior Member
Oct 28, 2012
1,093
439
madrid
with all due respect I see it as a normal CM, I see nothing different ... but appreciate your work and I thank you for sharing
 

fr3quency

Senior Member
Sep 20, 2008
2,199
856
32
Patra
fr3quency.deviantart.com
Wait, I should've read the logs correctly.

It's says it can't find build.prop in /system, have you actually installed the ROM prior to flashing the GApps?

Try:
(Redownload all the zips if necessary)
Flash ROM
Flash GApps as possible
If Google Keyboard fails to be flashed again, try booting the ROM for the first time, and check if /system/build.prop is actually there (it should be, because I think Android wouldn't even boot without build.prop)
Reboot to recovery and try flashing Google Keyboard again.
It worked when I flashed it after booting into the ROM.
 

GruZone

Senior Member
Dec 26, 2012
428
149
Ashkelon
I tested this during the day, I really couldn't find that much of smoothness than in other Roms without justarchi commits.

Am I missing something?
I am currently using stock ROM, its a bit slower (not noticeable for me) but not much of a huge difference.

How is other users experience?
 

blackbird5308

Senior Member
May 20, 2011
170
153
Padua
Actually, JustArchi said it's possible to keep root access while the build target = user. I will try to include CM's Superuser in the next build then! And I'd keep it user since it is said to improve performance by reducing debug codes which we usually don't need. (Personally, I don't, up to this point).

yeah, but with all the "odexed" thing? will that affect ART?
 

KcLKcL

Senior Member
Dec 3, 2011
969
662
Jakarta
yeah, but with all the "odexed" thing? will that affect ART?

I may be wrong but,

I don't think it affects ART.

Read about odex vs deodex here http://xdaforums.com/showthread.php?t=2200349

From my understanding odex is kind of similar to ART (but still the code needs to be compiled as you run the app, while on ART, it's already compiled when you installed the app), so it's faster then deodexed. But then, since the codes are already executed, it makes it hard to modify.
 

blackbird5308

Senior Member
May 20, 2011
170
153
Padua
I may be wrong but,

I don't think it affects ART.

Read about odex vs deodex here http://xdaforums.com/showthread.php?t=2200349

From my understanding odex is kind of similar to ART (but still the code needs to be compiled as you run the app, while on ART, it's already compiled when you installed the app), so it's faster then deodexed. But then, since the codes are already executed, it makes it hard to modify.

That's why i was asking, dirtyflashing this over an official CM build and then reflashing the original CM will cause problem with the odexes maybe :)
 

Top Liked Posts

  • There are no posts matching your filters.
  • 31
    This is the first ROM I've ever built after years of using Android.
    So this is CyanogenMod 11, compiled fresh from source with JustArchi Android Optimizations (This Commit). Linaro 4.7 is used to build the ROM & Kernel for a balance between performance & stability (4.8 gives too much problem). Also the target user is user (instead of userdebug) because it reduces debugging modules which will make the phone faster, the downside? This ROM is Odexed and Unrooted

    Disclaimer:
    I do not take responsibility of:
    Bricked Phone
    Data loss
    Nuclear War
    Losing your job because the alarm didn't go off
    TLDR, use this at your own risk!


    What is JustArchi Android Optimizations?
    Basically, It's a patch for the Android Source. It patches the compiler flags so it's compiled with -O3 optimization (and others) to the WHOLE ROM, not just Kernel.

    Why?
    Android's default flag is -Os, which is "Optimize for Size". It makes sense because back then, phone storage are small. But phones has advanced, so we can optimize it further with -O3, even though it makes the ROM a little bit larger. This increased the performance up to 6X! (Remember, UP TO 6X, not TO 6X).

    It could just be a placebo!
    Well it could be, but I can assure you that it is not. Few days prior to building this ROM, I flashed another ROM, and switched to ART immediately. It took a long time to generate the "ART Cache", aka doing the AOT Compilation. I just tried again with this build, and it is INDEED much faster. It almost as fast as generating dalvik cache.

    Why is it unrooted?
    Because this build's target user is user instead of userdebug, user disables debugging modules and root, in exchange with higher performance. For now you can flash SuperSU zip (like I do) if you want root. Tell me if you prefer the CM built-in Superuser or SuperSU. Personally I prefer SuperSU, but I can make it pre-rooted if you guys want it (It only need one commit :D)

    Credits:
    CyanogenMod Team
    @JustArchi

    Summary:
    • CyanogenMod 11 (stable branch, milestone builds)
    • JustArchi Android Optimization (-O3 in the WHOLE ROM, not just kernel)
    • Compiled with Linaro 4.7
    • Unrooted
    • Odexed

    ROM Downloads
    Google Drive


    GApps
    You can use TK Gapps


    XDA:DevDB Information
    CyanogenMod 11 + JustArchi Android Optimization, ROM for the Google Nexus 4

    Contributors
    KcLKcL, JustArchi
    Source Code: https://github.com/cyanogenmod/

    ROM OS Version: 4.4.x KitKat
    ROM Kernel: Linux 3.4.x
    Based On: CyanogenMod

    Version Information
    Status: Stable
    Current Stable Version: Milestone 11
    Stable Release Date: 2014-10-09
    Current Beta Version: 20140704
    Beta Release Date: 2014-07-04

    Created 2014-07-06
    Last Updated 2015-07-07
    10
    Go grab build 5.0 now! It's been uploaded, check download links :)
    8
    http://tapatalk.imageshack.com/v2/14/09/16/cb28912211a9b118698afedd979002a6.jpg

    http://tapatalk.imageshack.com/v2/14/09/16/cb2b5b431d9a31a958589ef78268d7e7.jpg

    New build is ready! As you can see, that's one of the new feature in M10, Soft Reboot. Uploading right now, stay tuned!

    EDIT:
    BUILD 4.0 UPLOADED NOW! Now based off CM11 M10!

    https://drive.google.com/folderview?id=0BwMx4tcQzaUga1NoRGxuZGZPTEE&usp=sharing

    Happy flashing & have a nice day =]
    6
    Here's some screenshot:
    http://img.tapatalk.com/d/14/08/04/y7a2asej.jpg

    Yeah, M9 build is coming really soon!! You can see I'm already using Center Clock :)

    92% Uploaded.. Please wait.

    EDIT:
    Build 3.0 Uploaded! Based on CM11 M9! Check Download Link on First Post!

    Or here: https://drive.google.com/folderview?id=0BwMx4tcQzaUgWVJqUWpSSERxb0U&usp=sharing
    6
    So CM11 M10 is released, as usual, expect a new build tomorrow or the day after tomorrow. I'll build M10 tonight :)