本文整理汇总了Java中edu.emory.mathcs.utils.ConcurrencyUtils.sleep方法的典型用法代码示例。如果您正苦于以下问题:Java ConcurrencyUtils.sleep方法的具体用法?Java ConcurrencyUtils.sleep怎么用?Java ConcurrencyUtils.sleep使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类edu.emory.mathcs.utils.ConcurrencyUtils
的用法示例。
在下文中一共展示了ConcurrencyUtils.sleep方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: benchmarkForward_3D_input_1D
import edu.emory.mathcs.utils.ConcurrencyUtils; //导入方法依赖的package包/类
public static void benchmarkForward_3D_input_1D() {
final double[] times = new double[nsize];
double[] x;
for (int i = 0; i < nsize; i++) {
System.out.println("Forward DST 3D (input 1D) of size " + sizes3D[i] + " x " + sizes3D[i] + " x "
+ sizes3D[i]);
DoubleDST_3D dst3 = new DoubleDST_3D(sizes3D[i], sizes3D[i], sizes3D[i]);
x = new double[sizes3D[i] * sizes3D[i] * sizes3D[i]];
if (doWarmup) { // call the transform twice to warm up
IOUtils.fillMatrix_3D(sizes3D[i], sizes3D[i], sizes3D[i], x);
dst3.forward(x, doScaling);
IOUtils.fillMatrix_3D(sizes3D[i], sizes3D[i], sizes3D[i], x);
dst3.forward(x, doScaling);
}
double av_time = 0;
long elapsedTime = 0;
for (int j = 0; j < niter; j++) {
IOUtils.fillMatrix_3D(sizes3D[i], sizes3D[i], sizes3D[i], x);
elapsedTime = System.nanoTime();
dst3.forward(x, doScaling);
elapsedTime = System.nanoTime() - elapsedTime;
av_time = av_time + elapsedTime;
}
times[i] = av_time / 1000000.0 / niter;
System.out.println("Average execution time: " + String.format("%.2f", av_time / 1000000.0 / niter) + " msec");
x = null;
dst3 = null;
System.gc();
ConcurrencyUtils.sleep(5000);
}
IOUtils.writeFFTBenchmarkResultsToFile("benchmarkDoubleForwardDST_3D_input_1D.txt", nthread, niter, doWarmup,
doScaling, sizes3D, times);
}
示例2: benchmarkRealForward_1D
import edu.emory.mathcs.utils.ConcurrencyUtils; //导入方法依赖的package包/类
public static void benchmarkRealForward_1D() {
final double[] times = new double[nsize];
float[] x;
for (int i = 0; i < nsize; i++) {
System.out.println("Real forward FFT 1D of size " + sizes1D[i]);
FloatFFT_1D fft = new FloatFFT_1D(sizes1D[i]);
x = new float[2 * sizes1D[i]];
if (doWarmup) { // call the transform twice to warm up
IOUtils.fillMatrix_1D(sizes1D[i], x);
fft.realForwardFull(x);
IOUtils.fillMatrix_1D(sizes1D[i], x);
fft.realForwardFull(x);
}
float av_time = 0;
long elapsedTime = 0;
for (int j = 0; j < niter; j++) {
IOUtils.fillMatrix_1D(sizes1D[i], x);
elapsedTime = System.nanoTime();
fft.realForwardFull(x);
elapsedTime = System.nanoTime() - elapsedTime;
av_time = av_time + elapsedTime;
}
times[i] = av_time / 1000000.0 / niter;
System.out.println("\tAverage execution time: " + String.format("%.2f", av_time / 1000000.0 / niter)
+ " msec");
x = null;
fft = null;
System.gc();
ConcurrencyUtils.sleep(5000);
}
IOUtils.writeFFTBenchmarkResultsToFile("benchmarkFloatRealForwardFFT_1D.txt", nthread, niter, doWarmup,
doScaling, sizes1D, times);
}
示例3: benchmarkComplexForward_2D_input_1D
import edu.emory.mathcs.utils.ConcurrencyUtils; //导入方法依赖的package包/类
public static void benchmarkComplexForward_2D_input_1D() {
final double[] times = new double[nsize];
float[] x;
for (int i = 0; i < nsize; i++) {
System.out.println("Complex forward FFT 2D (input 1D) of size " + sizes2D[i] + " x " + sizes2D[i]);
FloatFFT_2D fft2 = new FloatFFT_2D(sizes2D[i], sizes2D[i]);
x = new float[sizes2D[i] * 2 * sizes2D[i]];
if (doWarmup) { // call the transform twice to warm up
IOUtils.fillMatrix_2D(sizes2D[i], 2 * sizes2D[i], x);
fft2.complexForward(x);
IOUtils.fillMatrix_2D(sizes2D[i], 2 * sizes2D[i], x);
fft2.complexForward(x);
}
float av_time = 0;
long elapsedTime = 0;
for (int j = 0; j < niter; j++) {
IOUtils.fillMatrix_2D(sizes2D[i], 2 * sizes2D[i], x);
elapsedTime = System.nanoTime();
fft2.complexForward(x);
elapsedTime = System.nanoTime() - elapsedTime;
av_time = av_time + elapsedTime;
}
times[i] = av_time / 1000000.0 / niter;
System.out.println("\tAverage execution time: " + String.format("%.2f", av_time / 1000000.0 / niter)
+ " msec");
x = null;
fft2 = null;
System.gc();
ConcurrencyUtils.sleep(5000);
}
IOUtils.writeFFTBenchmarkResultsToFile("benchmarkFloatComplexForwardFFT_2D_input_1D.txt", nthread, niter,
doWarmup, doScaling, sizes2D, times);
}
示例4: benchmarkForward_2D_input_1D
import edu.emory.mathcs.utils.ConcurrencyUtils; //导入方法依赖的package包/类
public static void benchmarkForward_2D_input_1D() {
final double[] times = new double[nsize];
float[] x;
for (int i = 0; i < nsize; i++) {
System.out.println("Forward DST 2D (input 1D) of size " + sizes2D[i] + " x " + sizes2D[i]);
FloatDST_2D dst2 = new FloatDST_2D(sizes2D[i], sizes2D[i]);
x = new float[sizes2D[i] * sizes2D[i]];
if (doWarmup) { // call the transform twice to warm up
IOUtils.fillMatrix_2D(sizes2D[i], sizes2D[i], x);
dst2.forward(x, doScaling);
IOUtils.fillMatrix_2D(sizes2D[i], sizes2D[i], x);
dst2.forward(x, doScaling);
}
float av_time = 0;
long elapsedTime = 0;
for (int j = 0; j < niter; j++) {
IOUtils.fillMatrix_2D(sizes2D[i], sizes2D[i], x);
elapsedTime = System.nanoTime();
dst2.forward(x, doScaling);
elapsedTime = System.nanoTime() - elapsedTime;
av_time = av_time + elapsedTime;
}
times[i] = av_time / 1000000.0 / niter;
System.out.println("Average execution time: " + String.format("%.2f", av_time / 1000000.0 / niter) + " msec");
x = null;
dst2 = null;
System.gc();
ConcurrencyUtils.sleep(5000);
}
IOUtils.writeFFTBenchmarkResultsToFile("benchmarkFloatForwardDST_2D_input_1D.txt", nthread, niter, doWarmup,
doScaling, sizes2D, times);
}
示例5: benchmarkRealForward_2D_input_1D
import edu.emory.mathcs.utils.ConcurrencyUtils; //导入方法依赖的package包/类
public static void benchmarkRealForward_2D_input_1D() {
final double[] times = new double[nsize];
float[] x;
for (int i = 0; i < nsize; i++) {
System.out.println("Real forward FFT 2D (input 1D) of size " + sizes2D[i] + " x " + sizes2D[i]);
FloatFFT_2D fft2 = new FloatFFT_2D(sizes2D[i], sizes2D[i]);
x = new float[sizes2D[i] * 2 * sizes2D[i]];
if (doWarmup) { // call the transform twice to warm up
IOUtils.fillMatrix_2D(sizes2D[i], sizes2D[i], x);
fft2.realForwardFull(x);
IOUtils.fillMatrix_2D(sizes2D[i], sizes2D[i], x);
fft2.realForwardFull(x);
}
float av_time = 0;
long elapsedTime = 0;
for (int j = 0; j < niter; j++) {
IOUtils.fillMatrix_2D(sizes2D[i], sizes2D[i], x);
elapsedTime = System.nanoTime();
fft2.realForwardFull(x);
elapsedTime = System.nanoTime() - elapsedTime;
av_time = av_time + elapsedTime;
}
times[i] = av_time / 1000000.0 / niter;
System.out.println("\tAverage execution time: " + String.format("%.2f", av_time / 1000000.0 / niter)
+ " msec");
x = null;
fft2 = null;
System.gc();
ConcurrencyUtils.sleep(5000);
}
IOUtils.writeFFTBenchmarkResultsToFile("benchmarkFloatRealForwardFFT_2D_input_1D.txt", nthread, niter, doWarmup,
doScaling, sizes2D, times);
}
示例6: benchmarkRealForward_2D_input_2D
import edu.emory.mathcs.utils.ConcurrencyUtils; //导入方法依赖的package包/类
public static void benchmarkRealForward_2D_input_2D() {
final double[] times = new double[nsize];
float[][] x;
for (int i = 0; i < nsize; i++) {
System.out.println("Real forward FFT 2D (input 2D) of size " + sizes2D[i] + " x " + sizes2D[i]);
FloatFFT_2D fft2 = new FloatFFT_2D(sizes2D[i], sizes2D[i]);
x = new float[sizes2D[i]][2 * sizes2D[i]];
if (doWarmup) { // call the transform twice to warm up
IOUtils.fillMatrix_2D(sizes2D[i], sizes2D[i], x);
fft2.realForwardFull(x);
IOUtils.fillMatrix_2D(sizes2D[i], sizes2D[i], x);
fft2.realForwardFull(x);
}
float av_time = 0;
long elapsedTime = 0;
for (int j = 0; j < niter; j++) {
IOUtils.fillMatrix_2D(sizes2D[i], sizes2D[i], x);
elapsedTime = System.nanoTime();
fft2.realForwardFull(x);
elapsedTime = System.nanoTime() - elapsedTime;
av_time = av_time + elapsedTime;
}
times[i] = av_time / 1000000.0 / niter;
System.out.println("\tAverage execution time: " + String.format("%.2f", av_time / 1000000.0 / niter)
+ " msec");
x = null;
fft2 = null;
System.gc();
ConcurrencyUtils.sleep(5000);
}
IOUtils.writeFFTBenchmarkResultsToFile("benchmarkFloatRealForwardFFT_2D_input_2D.txt", nthread, niter, doWarmup,
doScaling, sizes2D, times);
}
示例7: benchmarkForward_3D_input_3D
import edu.emory.mathcs.utils.ConcurrencyUtils; //导入方法依赖的package包/类
public static void benchmarkForward_3D_input_3D() {
final double[] times = new double[nsize];
double[][][] x;
for (int i = 0; i < nsize; i++) {
System.out.println("Forward DHT 3D (input 3D) of size " + sizes3D[i] + " x " + sizes3D[i] + " x "
+ sizes3D[i]);
DoubleDHT_3D dht3 = new DoubleDHT_3D(sizes3D[i], sizes3D[i], sizes3D[i]);
x = new double[sizes3D[i]][sizes3D[i]][sizes3D[i]];
if (doWarmup) { // call the transform twice to warm up
IOUtils.fillMatrix_3D(sizes3D[i], sizes3D[i], sizes3D[i], x);
dht3.forward(x);
IOUtils.fillMatrix_3D(sizes3D[i], sizes3D[i], sizes3D[i], x);
dht3.forward(x);
}
double av_time = 0;
long elapsedTime = 0;
for (int j = 0; j < niter; j++) {
IOUtils.fillMatrix_3D(sizes3D[i], sizes3D[i], sizes3D[i], x);
elapsedTime = System.nanoTime();
dht3.forward(x);
elapsedTime = System.nanoTime() - elapsedTime;
av_time = av_time + elapsedTime;
}
times[i] = av_time / 1000000.0 / niter;
System.out.println("Average execution time: " + String.format("%.2f", av_time / 1000000.0 / niter) + " msec");
x = null;
dht3 = null;
System.gc();
ConcurrencyUtils.sleep(5000);
}
IOUtils.writeFFTBenchmarkResultsToFile("benchmarkDoubleForwardDHT_3D_input_3D.txt", nthread, niter, doWarmup,
doScaling, sizes3D, times);
}
示例8: benchmarkComplexForward_3D_input_3D
import edu.emory.mathcs.utils.ConcurrencyUtils; //导入方法依赖的package包/类
public static void benchmarkComplexForward_3D_input_3D() {
final double[] times = new double[nsize];
float[][][] x;
for (int i = 0; i < nsize; i++) {
System.out.println("Complex forward FFT 3D (input 3D) of size " + sizes3D[i] + " x " + sizes3D[i] + " x "
+ sizes3D[i]);
FloatFFT_3D fft3 = new FloatFFT_3D(sizes3D[i], sizes3D[i], sizes3D[i]);
x = new float[sizes3D[i]][sizes3D[i]][2 * sizes3D[i]];
if (doWarmup) { // call the transform twice to warm up
IOUtils.fillMatrix_3D(sizes3D[i], sizes3D[i], 2 * sizes3D[i], x);
fft3.complexForward(x);
IOUtils.fillMatrix_3D(sizes3D[i], sizes3D[i], 2 * sizes3D[i], x);
fft3.complexForward(x);
}
float av_time = 0;
long elapsedTime = 0;
for (int j = 0; j < niter; j++) {
IOUtils.fillMatrix_3D(sizes3D[i], sizes3D[i], 2 * sizes3D[i], x);
elapsedTime = System.nanoTime();
fft3.complexForward(x);
elapsedTime = System.nanoTime() - elapsedTime;
av_time = av_time + elapsedTime;
}
times[i] = av_time / 1000000.0 / niter;
System.out.println("\tAverage execution time: " + String.format("%.2f", av_time / 1000000.0 / niter)
+ " msec");
x = null;
fft3 = null;
System.gc();
ConcurrencyUtils.sleep(5000);
}
IOUtils.writeFFTBenchmarkResultsToFile("benchmarkFloatComplexForwardFFT_3D_input_3D.txt", nthread, niter,
doWarmup, doScaling, sizes3D, times);
}
示例9: benchmarkRealForward_3D_input_1D
import edu.emory.mathcs.utils.ConcurrencyUtils; //导入方法依赖的package包/类
public static void benchmarkRealForward_3D_input_1D() {
final double[] times = new double[nsize];
float[] x;
for (int i = 0; i < nsize; i++) {
if (sizes3D[i] < 1024) {
System.out.println("Real forward FFT 3D (input 1D) of size " + sizes3D[i] + " x " + sizes3D[i] + " x "
+ sizes3D[i]);
FloatFFT_3D fft3 = new FloatFFT_3D(sizes3D[i], sizes3D[i], sizes3D[i]);
x = new float[sizes3D[i] * sizes3D[i] * 2 * sizes3D[i]];
if (doWarmup) { // call the transform twice to warm up
IOUtils.fillMatrix_3D(sizes3D[i], sizes3D[i], sizes3D[i], x);
fft3.realForwardFull(x);
IOUtils.fillMatrix_3D(sizes3D[i], sizes3D[i], sizes3D[i], x);
fft3.realForwardFull(x);
}
float av_time = 0;
long elapsedTime = 0;
for (int j = 0; j < niter; j++) {
IOUtils.fillMatrix_3D(sizes3D[i], sizes3D[i], sizes3D[i], x);
elapsedTime = System.nanoTime();
fft3.realForwardFull(x);
elapsedTime = System.nanoTime() - elapsedTime;
av_time = av_time + elapsedTime;
}
times[i] = av_time / 1000000.0 / niter;
System.out.println("\tAverage execution time: " + String.format("%.2f", av_time / 1000000.0 / niter)
+ " msec");
x = null;
fft3 = null;
System.gc();
ConcurrencyUtils.sleep(5000);
}
}
IOUtils.writeFFTBenchmarkResultsToFile("benchmarkFloatRealForwardFFT_3D_input_1D.txt", nthread, niter, doWarmup,
doScaling, sizes3D, times);
}
示例10: benchmarkForward_2D_input_2D
import edu.emory.mathcs.utils.ConcurrencyUtils; //导入方法依赖的package包/类
public static void benchmarkForward_2D_input_2D() {
final double[] times = new double[nsize];
double[][] x;
for (int i = 0; i < nsize; i++) {
System.out.println("Forward DHT 2D (input 2D) of size " + sizes2D[i] + " x " + sizes2D[i]);
DoubleDHT_2D dht2 = new DoubleDHT_2D(sizes2D[i], sizes2D[i]);
x = new double[sizes2D[i]][sizes2D[i]];
if (doWarmup) { // call the transform twice to warm up
IOUtils.fillMatrix_2D(sizes2D[i], sizes2D[i], x);
dht2.forward(x);
IOUtils.fillMatrix_2D(sizes2D[i], sizes2D[i], x);
dht2.forward(x);
}
double av_time = 0;
long elapsedTime = 0;
for (int j = 0; j < niter; j++) {
IOUtils.fillMatrix_2D(sizes2D[i], sizes2D[i], x);
elapsedTime = System.nanoTime();
dht2.forward(x);
elapsedTime = System.nanoTime() - elapsedTime;
av_time = av_time + elapsedTime;
}
times[i] = av_time / 1000000.0 / niter;
System.out.println("Average execution time: " + String.format("%.2f", av_time / 1000000.0 / niter) + " msec");
x = null;
dht2 = null;
System.gc();
ConcurrencyUtils.sleep(5000);
}
IOUtils.writeFFTBenchmarkResultsToFile("benchmarkDoubleForwardDHT_2D_input_2D.txt", nthread, niter, doWarmup,
doScaling, sizes2D, times);
}
示例11: benchmarkForward_2D_input_2D
import edu.emory.mathcs.utils.ConcurrencyUtils; //导入方法依赖的package包/类
public static void benchmarkForward_2D_input_2D() {
final double[] times = new double[nsize];
float[][] x;
for (int i = 0; i < nsize; i++) {
System.out.println("Forward DST 2D (input 2D) of size " + sizes2D[i] + " x " + sizes2D[i]);
FloatDST_2D dst2 = new FloatDST_2D(sizes2D[i], sizes2D[i]);
x = new float[sizes2D[i]][sizes2D[i]];
if (doWarmup) { // call the transform twice to warm up
IOUtils.fillMatrix_2D(sizes2D[i], sizes2D[i], x);
dst2.forward(x, doScaling);
IOUtils.fillMatrix_2D(sizes2D[i], sizes2D[i], x);
dst2.forward(x, doScaling);
}
float av_time = 0;
long elapsedTime = 0;
for (int j = 0; j < niter; j++) {
IOUtils.fillMatrix_2D(sizes2D[i], sizes2D[i], x);
elapsedTime = System.nanoTime();
dst2.forward(x, doScaling);
elapsedTime = System.nanoTime() - elapsedTime;
av_time = av_time + elapsedTime;
}
times[i] = av_time / 1000000.0 / niter;
System.out.println("Average execution time: " + String.format("%.2f", av_time / 1000000.0 / niter) + " msec");
x = null;
dst2 = null;
System.gc();
ConcurrencyUtils.sleep(5000);
}
IOUtils.writeFFTBenchmarkResultsToFile("benchmarkFloatForwardDST_2D_input_2D.txt", nthread, niter, doWarmup,
doScaling, sizes2D, times);
}
示例12: benchmarkRealForward_1D
import edu.emory.mathcs.utils.ConcurrencyUtils; //导入方法依赖的package包/类
public static void benchmarkRealForward_1D() {
final double[] times = new double[nsize];
double[] x;
for (int i = 0; i < nsize; i++) {
System.out.println("Real forward FFT 1D of size " + sizes1D[i]);
DoubleFFT_1D fft = new DoubleFFT_1D(sizes1D[i]);
x = new double[2 * sizes1D[i]];
if (doWarmup) { // call the transform twice to warm up
IOUtils.fillMatrix_1D(sizes1D[i], x);
fft.realForwardFull(x);
IOUtils.fillMatrix_1D(sizes1D[i], x);
fft.realForwardFull(x);
}
double av_time = 0;
long elapsedTime = 0;
for (int j = 0; j < niter; j++) {
IOUtils.fillMatrix_1D(sizes1D[i], x);
elapsedTime = System.nanoTime();
fft.realForwardFull(x);
elapsedTime = System.nanoTime() - elapsedTime;
av_time = av_time + elapsedTime;
}
times[i] = av_time / 1000000.0 / niter;
System.out.println("\tAverage execution time: " + String.format("%.2f", av_time / 1000000.0 / niter)
+ " msec");
x = null;
fft = null;
System.gc();
ConcurrencyUtils.sleep(5000);
}
IOUtils.writeFFTBenchmarkResultsToFile("benchmarkDoubleRealForwardFFT_1D.txt", nthread, niter, doWarmup,
doScaling, sizes1D, times);
}
示例13: benchmarkForward_3D_input_3D
import edu.emory.mathcs.utils.ConcurrencyUtils; //导入方法依赖的package包/类
public static void benchmarkForward_3D_input_3D() {
final double[] times = new double[nsize];
double[][][] x;
for (int i = 0; i < nsize; i++) {
System.out.println("Forward DST 3D (input 3D) of size " + sizes3D[i] + " x " + sizes3D[i] + " x "
+ sizes3D[i]);
DoubleDST_3D dst3 = new DoubleDST_3D(sizes3D[i], sizes3D[i], sizes3D[i]);
x = new double[sizes3D[i]][sizes3D[i]][sizes3D[i]];
if (doWarmup) { // call the transform twice to warm up
IOUtils.fillMatrix_3D(sizes3D[i], sizes3D[i], sizes3D[i], x);
dst3.forward(x, doScaling);
IOUtils.fillMatrix_3D(sizes3D[i], sizes3D[i], sizes3D[i], x);
dst3.forward(x, doScaling);
}
double av_time = 0;
long elapsedTime = 0;
for (int j = 0; j < niter; j++) {
IOUtils.fillMatrix_3D(sizes3D[i], sizes3D[i], sizes3D[i], x);
elapsedTime = System.nanoTime();
dst3.forward(x, doScaling);
elapsedTime = System.nanoTime() - elapsedTime;
av_time = av_time + elapsedTime;
}
times[i] = av_time / 1000000.0 / niter;
System.out.println("Average execution time: " + String.format("%.2f", av_time / 1000000.0 / niter) + " msec");
x = null;
dst3 = null;
System.gc();
ConcurrencyUtils.sleep(5000);
}
IOUtils.writeFFTBenchmarkResultsToFile("benchmarkDoubleForwardDST_3D_input_3D.txt", nthread, niter, doWarmup,
doScaling, sizes3D, times);
}
示例14: benchmarkComplexForward_2D_input_2D
import edu.emory.mathcs.utils.ConcurrencyUtils; //导入方法依赖的package包/类
public static void benchmarkComplexForward_2D_input_2D() {
final double[] times = new double[nsize];
double[][] x;
for (int i = 0; i < nsize; i++) {
System.out.println("Complex forward FFT 2D (input 2D) of size " + sizes2D[i] + " x " + sizes2D[i]);
DoubleFFT_2D fft2 = new DoubleFFT_2D(sizes2D[i], sizes2D[i]);
x = new double[sizes2D[i]][2 * sizes2D[i]];
if (doWarmup) { // call the transform twice to warm up
IOUtils.fillMatrix_2D(sizes2D[i], 2 * sizes2D[i], x);
fft2.complexForward(x);
IOUtils.fillMatrix_2D(sizes2D[i], 2 * sizes2D[i], x);
fft2.complexForward(x);
}
double av_time = 0;
long elapsedTime = 0;
for (int j = 0; j < niter; j++) {
IOUtils.fillMatrix_2D(sizes2D[i], 2 * sizes2D[i], x);
elapsedTime = System.nanoTime();
fft2.complexForward(x);
elapsedTime = System.nanoTime() - elapsedTime;
av_time = av_time + elapsedTime;
}
times[i] = av_time / 1000000.0 / niter;
System.out.println("\tAverage execution time: " + String.format("%.2f", av_time / 1000000.0 / niter)
+ " msec");
x = null;
fft2 = null;
System.gc();
ConcurrencyUtils.sleep(5000);
}
IOUtils.writeFFTBenchmarkResultsToFile("benchmarkDoubleComplexForwardFFT_2D_input_2D.txt", nthread, niter,
doWarmup, doScaling, sizes2D, times);
}
示例15: benchmarkRealForward_2D_input_1D
import edu.emory.mathcs.utils.ConcurrencyUtils; //导入方法依赖的package包/类
public static void benchmarkRealForward_2D_input_1D() {
final double[] times = new double[nsize];
double[] x;
for (int i = 0; i < nsize; i++) {
System.out.println("Real forward FFT 2D (input 1D) of size " + sizes2D[i] + " x " + sizes2D[i]);
DoubleFFT_2D fft2 = new DoubleFFT_2D(sizes2D[i], sizes2D[i]);
x = new double[sizes2D[i] * 2 * sizes2D[i]];
if (doWarmup) { // call the transform twice to warm up
IOUtils.fillMatrix_2D(sizes2D[i], sizes2D[i], x);
fft2.realForwardFull(x);
IOUtils.fillMatrix_2D(sizes2D[i], sizes2D[i], x);
fft2.realForwardFull(x);
}
double av_time = 0;
long elapsedTime = 0;
for (int j = 0; j < niter; j++) {
IOUtils.fillMatrix_2D(sizes2D[i], sizes2D[i], x);
elapsedTime = System.nanoTime();
fft2.realForwardFull(x);
elapsedTime = System.nanoTime() - elapsedTime;
av_time = av_time + elapsedTime;
}
times[i] = av_time / 1000000.0 / niter;
System.out.println("\tAverage execution time: " + String.format("%.2f", av_time / 1000000.0 / niter)
+ " msec");
x = null;
fft2 = null;
System.gc();
ConcurrencyUtils.sleep(5000);
}
IOUtils.writeFFTBenchmarkResultsToFile("benchmarkDoubleRealForwardFFT_2D_input_1D.txt", nthread, niter, doWarmup,
doScaling, sizes2D, times);
}