Project

General

Profile

Feature #10219

[PATCH] time.c: DATA_PTR is never NULL

Added by normalperson (Eric Wong) over 5 years ago. Updated over 5 years ago.

Status:
Closed
Priority:
Normal
Target version:
[ruby-core:64907]

Description

Tiny improvement on my older Phenom II X4 945 system:
$ ruby --disable=gems -e '6000000.times { Time.now }'
before: 2.51user 0.00system 0:02.51elapsed 100%CPU
after: 2.45user 0.00system 0:02.45elapsed 100%CPU

Will commit soon unless I missed something which zeros DATA_PTR.


Files

0001-time.c-DATA_PTR-is-never-NULL.patch (1.4 KB) 0001-time.c-DATA_PTR-is-never-NULL.patch normalperson (Eric Wong), 09/09/2014 09:28 PM

Updated by nobu (Nobuyoshi Nakada) over 5 years ago

  • Status changed from Open to Assigned

Seems fine.

RUBY_TYPED_DEFAULT_FREE also does nothing if DATA_PTR is NULL, as same as time_free does now.
And tobj should not be NULL as Time.allocate always allocate it.

#2

Updated by Anonymous over 5 years ago

  • Status changed from Assigned to Closed
  • % Done changed from 0 to 100

Applied in changeset r47506.


time.c: DATA_PTR is never NULL

  • time.c (time_mark): remove NULL check (time_memsize): ditto (time_free): remove, use RUBY_TYPED_DEFAULT_FREE instead [Feature #10219]

Tiny improvement on my old Phenom II X4 945 system:
$ ruby --disable=gems -e '6000000.times { Time.now }'
before: 2.51user 0.00system 0:02.51elapsed 100%CPU
after: 2.45user 0.00system 0:02.45elapsed 100%CPU

Also available in: Atom PDF