aboutsummaryrefslogtreecommitdiff
path: root/kernel/main.c
diff options
context:
space:
mode:
authorFranklin Wei <frankhwei536@gmail.com>2015-02-07 20:14:30 -0500
committerFranklin Wei <frankhwei536@gmail.com>2015-02-07 20:14:30 -0500
commitea15c8963fa17deaba4356219e481128db66f5bc (patch)
tree0e426f2b61a269bb747c48981dd5dfc47913cef3 /kernel/main.c
parentc3b4bab880c9b3426db6252240ea3ab7838fa17b (diff)
downloadkappa-ea15c8963fa17deaba4356219e481128db66f5bc.zip
kappa-ea15c8963fa17deaba4356219e481128db66f5bc.tar.gz
kappa-ea15c8963fa17deaba4356219e481128db66f5bc.tar.bz2
kappa-ea15c8963fa17deaba4356219e481128db66f5bc.tar.xz
add benchmark
Diffstat (limited to 'kernel/main.c')
-rw-r--r--kernel/main.c28
1 files changed, 22 insertions, 6 deletions
diff --git a/kernel/main.c b/kernel/main.c
index dd05880..336b31c 100644
--- a/kernel/main.c
+++ b/kernel/main.c
@@ -55,18 +55,34 @@ void main(struct multiboot_info_t *hdr, uint32_t magic)
if(gfx_status)
{
- for(int i=0;i<100000;++i)
+ int startpix = *current_tick;
+ for(int i=0;i<1000000;++i)
{
int rx = rand() % *gfx_width;
int ry = rand() % *gfx_height;
gfx_drawpixel(rx, ry, rand() % 0xFFFFFF);
}
- int start = *current_tick;
- for(int i=0;i<1000;++i)
- gfx_clear(0xff00ff);
- int end = *current_tick;
- printf("ticks for 1000 fills: %x\n", end-start);
+ int endpix = *current_tick;
+ int startfill = *current_tick;
+ for(int i=0;i<100;++i)
+ gfx_clear(rand() % 0xFFFFFF);
+ int endfill = *current_tick;
+
+ int starttext = *current_tick;
+ for(int i=0;i<1000000;++i)
+ {
+ int rx = rand() % *gfx_width;
+ int ry = rand() % *gfx_height;
+ gfx_drawchar(rx, ry, 'A', VGA_RGBPACK(0xff, 0xff, 0xff), 0);
+ }
+ int endtext = *current_tick;
+ gfx_reset();
+ printf("--- Graphics benchmark results ---\n");
+ printf("Ticks for 1,000,000 random pixels: %d\n", endpix-startpix);
+ printf("Ticks for 100 random fills: %d\n", endfill-startfill);
+ printf("Ticks for 1,000,000 chars: %d\n", endtext-starttext);
+ printf("Resolution: %dx%dx%d\n", *gfx_width, *gfx_height, *gfx_bpp * 8);
}
printf("Testing keyboard LED's...\n");