]> git.eshelyaron.com Git - emacs.git/commitdiff
Tweak time arithmetic performance
authorPaul Eggert <eggert@cs.ucla.edu>
Sat, 24 Aug 2019 22:40:55 +0000 (15:40 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Sat, 24 Aug 2019 22:55:09 +0000 (15:55 -0700)
* src/timefns.c (time_arith): Prefer mpz_divexact to mpz_tdiv_q
when either will do.

src/timefns.c

index 6c9473f22a640ca325c01d705a90199d9dd9df3e..c1e3141c4cfbc60f2b39f1d3dee10f6e9d3f3d44 100644 (file)
@@ -1105,8 +1105,8 @@ time_arith (Lisp_Object a, Lisp_Object b, bool subtract)
 
       /* fa = da/g, fb = db/g.  */
       mpz_t *fa = &mpz[4], *fb = &mpz[3];
-      mpz_tdiv_q (*fa, *da, *g);
-      mpz_tdiv_q (*fb, *db, *g);
+      mpz_divexact (*fa, *da, *g);
+      mpz_divexact (*fb, *db, *g);
 
       /* ihz = fa * db.  This is equal to lcm (da, db).  */
       mpz_t *ihz = &mpz[0];
@@ -1149,8 +1149,8 @@ time_arith (Lisp_Object a, Lisp_Object b, bool subtract)
 
       if (!FASTER_TIMEFNS || mpz_cmp_ui (*ig, 1) > 0)
        {
-         mpz_tdiv_q (*iticks, *iticks, *ig);
-         mpz_tdiv_q (*ihz, *ihz, *ig);
+         mpz_divexact (*iticks, *iticks, *ig);
+         mpz_divexact (*ihz, *ihz, *ig);
 
          if (!FASTER_TIMEFNS || mpz_cmp (*ihz, *hzmin) < 0)
            {