ftp.nice.ch/pub/next/tools/performance/NWBench.NIHS.bs.tar.gz#/NWBench.NIHS.bs/Source/PSBench.m

This is PSBench.m in view mode; [Download] [Up]

#import "PSBench.h"
#import "Timer.h"
#define SIZE 128.0
#define TIMES 5

@implementation PSBench
-setupBenchmark
{
	[window orderFront:nil];
	return self;
}
  
-benchmark
{
	float i,j;
	int   k;
	NXSize	aSize = { SIZE, SIZE};
	int	gstate = [window gState];
	id	image = [[NXImage alloc] initSize:&aSize];
	NXPoint cPoint = {200,200};

	[image 	lockFocus];
	PSmoveto(5.0,5.0);
	[[Font  newFont:"Times-Roman" size:14.0 matrix: NX_IDENTITYMATRIX] set];
	NXSetColor(NX_COLORBLUE);
	PSshow("NeXTSTEP");
	[image	unlockFocus];

	[[window contentView] lockFocus];
	[image composite:NX_COPY toPoint:&cPoint];	// promote the window

	[timer stopTimer];
	t0 = [timer psTime];
	[timer startTimer];
	for(k=0;k<TIMES;k++){
		for(j=400-SIZE;j>0;j-=10){
			for(i=400-SIZE;i>0;i-=11){
				PScomposite(0.0,0.0,SIZE,SIZE,gstate,i,j,NX_COPY);
			}
		}
	}
	[timer stopTimer];
	t1 = [timer psTime];
	[timer startTimer];

	for(k=0;k<TIMES;k++){
		for(j=400-SIZE;j>0;j-=10){
			for(i=400-SIZE;i>0;i-=11){
				NXPoint aPoint = {i,j};
				[image composite:NX_COPY toPoint:&aPoint];
			}
		}
	}

	[timer stopTimer];
	t2 = [timer psTime];
	[[window contentView] unlockFocus];
	return self;
}

- shutdownBenchmark
{
	char	buf[256];
	[window orderOut:nil];

	[vvCell		setDoubleValue:t1-t0];
	[dvCell		setDoubleValue:t2-t1];

	sprintf(buf,"PostScript speed: D-V: %g   V-V: %g",t1-t0,t2-t1);
	[self	logResults:buf];
	return self;
}

@end
  

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.