public
Created

  • Download Gist
bitmapgc_benchmark.txt
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
benchmark results:
minimum results in each 5 measurements.
name ruby 2.0.0dev (2012-01-05 trunk 34217) [i386-mingw32] ruby 2.0.0dev (2012-01-05 bitmapgc 34217) [i386-mingw32] average difference
app_answer 0.344 0.234 -0.087
app_erb 18.516 2.812 -15.666
app_factorial 5.156 5.250 -0.162
app_fib 1.438 1.312 -0.109
app_mandelbrot 4.734 16.641 12.147
app_pentomino 34.250 35.781 -204.197
app_raise 1.266 1.328 0.109
app_strconcat 3.359 4.187 0.966
app_tak 1.797 1.688 0.228
app_tarai 1.453 1.359 -0.106
app_uri 2.078 2.000 -0.237
io_file_create 26.250 26.203 -0.197
io_file_read 18.344 18.531 -0.109
io_file_write 17.172 17.109 -77.509
io_select 7.828 8.078 -0.041
io_select2 7.844 8.062 0.169
io_select3 0.281 0.172 -0.109
loop_for 2.953 2.922 -0.072
loop_generator 0.687 0.672 0.337
loop_times 2.812 2.750 0.056
loop_whileloop 1.328 1.266 -0.019
loop_whileloop2 0.484 0.391 0.025
so_ackermann 1.469 1.297 -0.666
so_array 2.625 2.531 5.841
so_binary_trees 1.031 1.109 0.075
so_concatenate 8.547 8.422 0.528
so_count_words 0.766 0.672 -0.103
so_exception 2.641 2.688 0.959
so_fannkuch 3.438 3.922 4.216
so_fasta 4.797 5.578 0.481
so_k_nucleotide 3.500 3.781 0.525
so_lists 1.828 1.703 -0.294
so_mandelbrot 12.578 23.109 -86.741
so_matrix 1.719 1.656 -0.347
so_meteor_contest 10.047 15.859 4.625
so_nbody 8.844 15.172 5.988
so_nested_loop 2.281 2.250 -0.041
so_nsieve 4.719 4.672 -2.219
so_nsieve_bits 5.844 44.984 44.734
so_object 2.078 2.172 0.200
so_partial_sums 12.953 22.219 10.031
so_pidigits 3.422 3.250 -0.469
so_random 2.547 4.016 1.412
so_reverse_complement 4.125 4.516 0.675
so_sieve 1.781 1.641 -0.138
so_spectralnorm 7.141 11.500 0.781
vm1_block* 2.844 2.750 -1.416
vm1_const* 0.656 1.047 0.331
vm1_ensure* 0.359 0.078 -0.197
vm1_ivar* 1.516 1.297 0.016
vm1_ivar_set* 0.969 0.906 -0.125
vm1_length* 1.375 1.219 -0.094
vm1_neq* 0.969 0.859 -32.616
vm1_not* 0.531 0.484 -0.100
vm1_rescue* 0.141 0.109 -0.091
vm1_simplereturn* 1.766 1.672 0.650
vm1_swap* 0.531 0.469 18.737
vm2_array* 2.750 3.359 -2.203
vm2_case* 0.250 0.219 -0.900
vm2_defined_method* 5.656 5.734 -16.456
vm2_eval* 418.672 41.922 -393.663
vm2_method* 2.750 2.797 -0.034
vm2_mutex* 1.891 1.891 -0.100
vm2_poly_method* 3.891 3.703 -80.228
vm2_poly_method_ov* 0.344 0.297 -0.125
vm2_proc* 0.984 0.906 -0.144
vm2_regexp* 2.781 3.391 0.503
vm2_send* 0.500 0.469 -0.106
vm2_super* 0.812 0.766 -0.147
vm2_unif1* 0.391 0.344 -0.137
vm2_zsuper* 0.828 0.797 -0.150
vm3_clearmethodcache 1.266 1.219 -0.234
vm3_gc 2.406 2.859 0.353
vm_thread_alive_check1 0.656 0.531 -0.134
vm_thread_create_join 7.812 7.578 -0.647
vm_thread_mutex1 1.875 1.734 0.094
vm_thread_mutex2 1.922 1.844 -0.100
vm_thread_pass 0.797 0.797 -0.047
vm_thread_pipe 3.094 3.078 -0.019
-----------------------------------------------------------
mingw_aligned_malloc.patch
Diff
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
--- gc.c Fri Jan 6 10:22:40 2012
+++ ../gc.c Fri Jan 6 10:19:29 2012
@@ -1075,7 +1075,9 @@
{
void *res;
-#if _WIN32 || defined __CYGWIN__
+#if __MINGW32__
+ res = __mingw_aligned_malloc(aligned_size, aligned_size);
+#elif _WIN32 || defined __CYGWIN__
res = _aligned_malloc(aligned_size, aligned_size);
#else
# if _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600
@@ -1094,7 +1096,9 @@
static void
aligned_free(void *ptr)
{
-#if _WIN32 || defined __CYGWIN__
+#if __MINGW32__
+ __mingw_aligned_free(ptr);
+#elif _WIN32 || defined __CYGWIN__
_aligned_free(ptr);
#else
free(ptr);

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.