Analysis takes a long time. Is this because beaTunes is written in Java?
If beaTunes was written in assembler, analysis would probably be faster. Chances are, that beaTunes would also crash much more often. Contrary to common perception the speed of Java has caught up quite a bit compared to early versions from almost ten years ago. Pretty much every recent benchmark that compares Java with C or C++ has concluded that Java is typically 2-3 times slower than C and in many cases as fast as C++ or faster. This means that nowadays mainly the code quality determines whether a C implementation is faster than a Java implementation. So the answer is no. In fact the first step of the analysis is the decoding of the compressed audio file (mp3, aac, etc) into raw audio data. During this step beaTunes uses the native QuickTime or CoreAudio libraries. Additionally there are some other analysis steps that are done natively to take advantage of special hardware capabilities.
If beaTunes was written in assembler, analysis would probably be faster. Chances are, that beaTunes would also crash much more often. Contrary to common perception the speed of Java has caught up quite a bit compared to early versions from almost ten years ago. Pretty much every recent benchmark that compares Java with C or C++ has concluded that Java is typically 2-3 times slower than C and in many cases as fast as C++ or faster. This means that nowadays mainly the code quality determines whether a C implementation is faster than a Java implementation. So the answer is no. In fact the first step of the analysis is the decoding of the compressed audio file (mp3, aac, etc) into raw audio data. During this step beaTunes uses the native QuickTime or CoreAudio libraries. Additionally there are some other analysis steps like FFT that are done natively to take advantage of special hardware capabilities.