Commits

Bryan O'Sullivan committed 3665d67

Rename C benchmarks.

Comments (0)

Files changed (6)

 ^(?:cabal-dev|dist)$
-^benchmarks/(?:bm|simple|sprintf|swprintf)$
+^benchmarks/(?:bm|simple|c-printf|c-wprintf)$
 \.(?:aux|eventlog|h[ip]|log|[oa]|orig|prof|ps|rej|swp)$
 ~$
 syntax: glob

benchmarks/Makefile

 ghc := ghc
 
-programs := bm simple sprintf swprintf
+programs := bm simple c-printf c-wprintf
 
 all: $(programs)
 
 simple: Simple.hs
 	$(ghc) -rtsopts -O -o $@ $<
 
-sprintf: sprintf.c
+c-printf: printf.c
 	$(CC) -O2 -o $@ $<
 
-swprintf: swprintf.c
+c-wprintf: wprintf.c
 	$(CC) -O2 -o $@ $<
 
 clean:

benchmarks/printf.c

+#include <math.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/time.h>
+
+double gettime(void)
+{
+    struct timeval tv;
+
+    gettimeofday(&tv, NULL);
+
+    return tv.tv_sec + (tv.tv_usec / 1e6);
+}
+
+void loop(int count)
+{
+    int i;
+
+    for (i = 0; i < count; i++)
+	printf("hi mom %g\n", (double) i * M_PI);
+}
+
+int main(int argc, char **argv)
+{
+    double start, elapsed;
+    int i, count;
+
+    count = argc == 2 ? atoi(argv[1]) : 1600000;
+
+    start = gettime();
+    
+    loop(count);
+
+    elapsed = gettime() - start;
+
+    fprintf(stderr, "%d iterations in %g secs (%g thousand/sec)\n",
+	    count, elapsed, count / elapsed / 1e3);
+}

benchmarks/sprintf.c

-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <sys/time.h>
-
-double gettime(void)
-{
-    struct timeval tv;
-
-    gettimeofday(&tv, NULL);
-
-    return tv.tv_sec + (tv.tv_usec / 1e6);
-}
-
-void loop(int count)
-{
-    int i;
-
-    for (i = 0; i < count; i++) {
-	char *s = malloc(64);
-
-	sprintf(s, "hi mom %g\n", (double) i * M_PI);
-
-	free(s);
-    }
-}
-
-int main(int argc, char **argv)
-{
-    double start, elapsed;
-    int i, count;
-
-    count = argc == 2 ? atoi(argv[1]) : 1600000;
-
-    start = gettime();
-    
-    loop(count);
-
-    elapsed = gettime() - start;
-
-    printf("%d iterations in %g secs (%g thousand/sec)\n", count, elapsed,
-	   count / elapsed / 1e3);
-}

benchmarks/swprintf.c

-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <sys/time.h>
-#include <wchar.h>
-
-double gettime(void)
-{
-    struct timeval tv;
-
-    gettimeofday(&tv, NULL);
-
-    return tv.tv_sec + (tv.tv_usec / 1e6);
-}
-
-void loop(int count)
-{
-    int i;
-
-    for (i = 0; i < count; i++) {
-	wchar_t *s = malloc(64 * sizeof(wchar_t));
-
-	swprintf(s, 64, L"hi mom %g\n", (double) i * M_PI);
-
-	free(s);
-    }
-}
-
-int main(int argc, char **argv)
-{
-    double start, elapsed;
-    int i, count;
-
-    count = argc == 2 ? atoi(argv[1]) : 1600000;
-
-    start = gettime();
-    
-    loop(count);
-
-    elapsed = gettime() - start;
-
-    printf("%d iterations in %g secs (%g thousand/sec)\n", count, elapsed,
-	   count / elapsed / 1e3);
-}

benchmarks/wprintf.c

+#include <math.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/time.h>
+#include <wchar.h>
+
+double gettime(void)
+{
+    struct timeval tv;
+
+    gettimeofday(&tv, NULL);
+
+    return tv.tv_sec + (tv.tv_usec / 1e6);
+}
+
+void loop(int count)
+{
+    int i;
+
+    for (i = 0; i < count; i++)
+	wprintf(L"hi mom %g\n", (double) i * M_PI);
+}
+
+int main(int argc, char **argv)
+{
+    double start, elapsed;
+    int i, count;
+
+    count = argc == 2 ? atoi(argv[1]) : 1600000;
+
+    start = gettime();
+    
+    loop(count);
+
+    elapsed = gettime() - start;
+
+    fprintf(stderr, "%d iterations in %g secs (%g thousand/sec)\n",
+	    count, elapsed, count / elapsed / 1e3);
+}
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.