Sha256: fbdbbd8d985a9645b68692c24b6e51685db2ef14f7e53ca786f307da5de1aac9
Contents?: true
Size: 1.08 KB
Versions: 7
Compression:
Stored size: 1.08 KB
Contents
/* Copyright (C) 2005-2011 Shugo Maeda <shugo@ruby-lang.org> and Charlie Savage <cfis@savagexi.com> Please see the LICENSE file for copyright and distribution information */ /* :nodoc: */ #include "ruby_prof.h" static VALUE cMeasureWallTime; static double measure_wall_time() { struct timeval tv; gettimeofday(&tv, NULL); return (tv.tv_sec * 1000000 + tv.tv_usec) / 1000000.0; } prof_measurer_t* prof_measurer_wall_time() { prof_measurer_t* measure = ALLOC(prof_measurer_t); measure->measure = measure_wall_time; return measure; } /* Document-method: prof_measure_wall_time call-seq: measure_wall_time -> float Returns the wall time.*/ static VALUE prof_measure_wall_time(VALUE self) { return rb_float_new(measure_wall_time()); } void rp_init_measure_wall_time() { rb_define_const(mProf, "WALL_TIME", INT2NUM(MEASURE_WALL_TIME)); rb_define_const(mProf, "WALL_TIME_ENABLED", Qtrue); cMeasureWallTime = rb_define_class_under(mMeasure, "WallTime", rb_cObject); rb_define_singleton_method(cMeasureWallTime, "measure", prof_measure_wall_time, 0); }
Version data entries
7 entries across 7 versions & 1 rubygems