#19585: Improve efficiency of calling GAP functions
-------------------------------------+-------------------------------------
       Reporter:  jaanos             |        Owner:
           Type:  enhancement        |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-6.10
      Component:  interfaces         |   Resolution:
       Keywords:  GAP functions      |    Merged in:
  interface                          |    Reviewers:
        Authors:  Janoš Vidali       |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:                     |  62bd5710559065d03a64aed7b8611cdc6842b278
  u/jaanos/improve_efficiency_of_calling_gap_functions|     Stopgaps:
   Dependencies:                     |
-------------------------------------+-------------------------------------
Changes (by tscrim):

 * cc: vbraun (added)


Comment:

 This does not appear to be a universal speedup. With branch:
 {{{
 sage: P = groups.permutation.Symmetric(7)
 sage: %time S = P.conjugacy_classes_subgroups()
 CPU times: user 432 ms, sys: 44 ms, total: 476 ms
 Wall time: 507 ms

 sage: P = groups.matrix.GL(3, 3)
 sage: %timeit P.conjugacy_classes_representatives()
 1000 loops, best of 3: 1.08 ms per loop

 sage: P = groups.permutation.Suzuki(8)
 sage: P.cardinality()
 29120
 sage: %time S = P.conjugacy_classes_subgroups()
 CPU times: user 115 ms, sys: 10.3 ms, total: 125 ms
 Wall time: 296 ms
 }}}
 vs before:
 {{{
 sage: P = groups.permutation.Symmetric(7)
 sage: %time S = P.conjugacy_classes_subgroups()
 CPU times: user 368 ms, sys: 40.4 ms, total: 408 ms
 Wall time: 436 ms

 sage: P = groups.matrix.GL(3, 3)
 sage: %timeit P.conjugacy_classes_representatives()
 1000 loops, best of 3: 1.02 ms per loop

 sage: P = groups.permutation.Suzuki(8)
 sage: %time S = P.conjugacy_classes_subgroups()
 CPU times: user 139 ms, sys: 121 µs, total: 139 ms
 Wall time: 264 ms
 }}}
 (For these timings, I ran it 10 times and took the best.)

 Perhaps this change is asymptotically better. Could you post the group(s)
 you are using to test this?

--
Ticket URL: <http://trac.sagemath.org/ticket/19585#comment:3>
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 http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to