Re: Java vs C++ speed (IO & Sorting)
On Fri, 21 Mar 2008 08:26:09 -0700 (PDT), zionztp@gmail.com wrote:
Im not sure if i used the right optimization flags to compile the java
program so if its wrong please tell me how i should compile it, since
i expected to obtain similar results.
Try these verions (only IO test) with g++ (in this version java is
using nio package for reading and writing).
Let me know what time you get for Java and c++ with g++
=== java ===
import java.io.*;
import java.nio.*;
import java.nio.channels.*;
public class CopyFile
{
public static void main(String[] arg) throws Exception
{
FileChannel in = new FileInputStream("bible.txt").getChannel();
FileChannel out = new FileOutputStream("output.txt").getChannel();
long start = System.currentTimeMillis();
in.transferTo (0, in.size(), out);
out.close(); in.close();
long end = System.currentTimeMillis();
System.out.println("Time for reading and writing files: " +
(end - start) + " ms");
}
}
===== C++ Version =======
#include <ctime>
#include <fstream>
#include <iostream>
int main(int argc,char *argv[])
{
std::ifstream src("bible.txt");
std::ofstream dst("output.txt");
clock_t start=clock();
dst << src.rdbuf();
clock_t endt=clock();
std::cout <<"Time for reading and writing file: " <<
double(endt-start)/CLOCKS_PER_SEC * 1000 << " ms\n";
return 0;
}