#20731: shortcut coercion for Integer-Rational operations
---------------------------+-------------------------------------
   Reporter:  vdelecroix   |            Owner:
       Type:  enhancement  |           Status:  new
   Priority:  major        |        Milestone:  sage-7.3
  Component:  coercion     |         Keywords:  sd74
  Merged in:               |          Authors:  Vincent Delecroix
  Reviewers:               |  Report Upstream:  N/A
Work issues:               |           Branch:
     Commit:               |     Dependencies:
   Stopgaps:               |
---------------------------+-------------------------------------
 Doing some shortcut to coercion actually fasten the code

 Old version
 {{{
 sage: z = 2
 sage: q = QQ((-1,5))
 sage: %timeit z + q
 sage: %timeit q + z
 sage: %timeit z - q
 sage: %timeit q - z
 sage: %timeit z * q
 sage: %timeit q * z
 sage: %timeit z / q
 sage: %timeit q / z
 }}}
 New version
 {{{
 sage: z = 2
 sage: q = QQ((-1,5))
 sage: %timeit z + q
 1000000 loops, best of 3: 265 ns per loop
 sage: %timeit q + z
 1000000 loops, best of 3: 323 ns per loop
 sage: %timeit z - q
 1000000 loops, best of 3: 261 ns per loop
 sage: %timeit q - z
 1000000 loops, best of 3: 319 ns per loop
 sage: %timeit z * q
 1000000 loops, best of 3: 341 ns per loop
 sage: %timeit q * z
 1000000 loops, best of 3: 446 ns per loop
 sage: %timeit z / q
 1000000 loops, best of 3: 341 ns per loop
 sage: %timeit q / z
 1000000 loops, best of 3: 396 ns per loop
 }}}

--
Ticket URL: <http://trac.sagemath.org/ticket/20731>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to