Skip to content

65x penalty in performance for using float instead of RealNumber #11332

Closed
@sagetrac-pang

Description

@sagetrac-pang

The function random() returns a "float", but 1.0*random() is a "RealNumber". The following code:

%time
#1
N=5000
x=random()
for c in xrange(N):
    kk = exp(x)

takes 5.24 seconds, while

%time
#1
N=5000
x=random()*1.0
for c in xrange(N):
    kk = exp(x)

takes 0.08

Component: symbolics

Keywords: float, RealNumber

Reviewer: Maarten Derickx

Issue created by migration from https://trac.sagemath.org/ticket/11332

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions