I have published an article on “What’s new in Android 4.0” at my companies blog, Please follow this link to read on it http://www.e-consystems.com/blog/android/?p=491
I have published an article on “What’s new in Android 4.0” at my companies blog, Please follow this link to read on it http://www.e-consystems.com/blog/android/?p=491
MIPS is architecture dependent, DMIPs supposed to be architecture independent.
MIPS isn’t generally considered a useful measure of performance – it’s typically quoted based on choosing the fastest (likely one of the least capable) instructions on a machine, with no regard to the capabilities of that machine.
Consider, if I built a machine that could only execute NOP, but could execute 200 million NOPs a second, it would be a 200 MIPS machine, however, if I built an entire fully feature CPU that could execute only 100 million NOPs per second (and NOP was the fastest instruction) but could also execute loads, stores, adds, multiplies etc. etc., it would be a 100 MIPS machine – however, the NOP-only machine appears (using the MIPS measure) to be twice as “good” despite being useless.
DMIPS is based on the time taken to execute a particular benchmark, something which might be considered representative of a real workload, namely Dhrystone. The DMIPS figure for a given machine is the relative speed a VAX 11/780 (a particular “1 MIPS” machine) would have to run at to complete the benchmark in the same amount of time as the machine being measured. For example, if a 100MHz CPU completes the benchmark 200 times faster than the VAX 11/780 does, then it would be considered a 200 DMIPS machine. For CPUs that can be run at various frequencies, then you’ll often see this value reported divided through by MHz, e.g. 2 DMIPS/MHz
Both are utterly useless when you want to determine whether a special device will provide enough performance to execute a given task. to be fair though, MIPS are even a little bit more useless than DMIPs.
Use a small program that represents an important part of your task and execute that one on an evaluation board. That’s the way to go.
In a desktop PC, running a QT application is straight forward, just compile the application then execute it. So you will not notice the behind the scene tasks done.
To run Qt Linux applications, we must first start one process to act as a GUI server. Most of the Linux distributions run X11 as the default GUI server. X11 runs in the background. Once the X11 is started it takes care of framebuffer (the memory area associated with the video display) and becomes a server. The server is responsible for allocating screen regions to clients and for generating mouse and keyboard events.
When you launch a GUI application (client), the client applications communicate with the GUI server using shared memory and Unix pipes. The clients draw themselves into the Linux framebuffer and are responsible for painting their own window decorations, etc.
Some times some application needs only Sun Java, It will refuce to work in other version (eg. OpenJDK).
CentOS, Debian/Ubuntu method
But by default OpenJDK based java was installed in my system.
[root@server2 sandbox]# java -version
java version “1.6.0_17″
OpenJDK Runtime Environment (IcedTea6 1.7.9) (rhel-1.36.b17.el6_0-x86_64)
OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode)
Changing the default runlevel of CentOS 6.
Open /etc/inittab in the editor (I use vim).
su -c ‘vim -w /etc/inittab’
You will see line similar to the below on
id:5:initdefault:
You simply change the “5″ to the runlevel you desire.
Since my machine is a server I changed it to “3″
Save the file and exit.
Rackspace recently published a nice infographic on the evolution of programming languages. It starts with FORTRAN and COBOL and runs through Ruby on Rails (which, yes, is a framework and not a language).
Unfortunately, it omits such influential languages as Lisp, ALGOL 60 and Smalltalk. But including every important language ever would make for a pretty long infographic.
http://www.rackspace.com/cloud/blog/2011/05/17/infographic-evolution-of-computer-languages/
Choosing the default Java to use
If your system has more than one version of Java, type the following command in a terminal window:
sudo update-alternatives –config java
Choose the version that you want to use.
Goto Menu>Settings>Applications>Running services>
Now Press and hold the Application you want to stop. It should then give a message that says something like
“The service will no longer run until started again. this may have undesirable consequences on the application <app name>…….”
This way you free up resources and stop the application auto running
You can also force close apps by choosing Menu>Settings>Applications>Manage Applications
Hope this helps
Using cscope with Emacs to browse Java source codes.
cscope can be used to browse Java symbols too. Use these commands at the top-level directory to create the index:
Enter into the source directory. Here I want to browse android source code. Hence I will cd into android source directory then execute below commands.
$ find . -name “*.java” > cscope.files
$ cscope -b
Then add this line at the bottom of xcscope.el to load cscope-mode whenever a Java file is opened:
(add-hook ‘java-mode-hook (function cscope:hook))
In my system the xcscope.el is located in /usr/share/emacs/site-lisp/xcscope.el
Then use the xcscope in emacs as usual. If you are using a single command cscope-indexer -r to gnerate the cscoape database then use the below hack.
sudo cp /usr/bin/cscope-indexer /usr/bin/cscope-indexer-java
sudo vim /usr/bin/cscope-indexer-java
search for a line similar to “egrep -i ‘\.([chly](xx|pp)*|cc|hh)$’ | \“ and modifiy it as below
egrep -i ‘\.([chly](xx|pp)*|cc|hh|java)$’ | \
Now you can use a single command to genateate the database. Goto the source directory and use below command.
$ cscope-indexer-java -r