Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Specialize binary ops for floats #484

Draft
wants to merge 6 commits into
base: trunk
Choose a base branch
from
Draft

Conversation

tekknolagi
Copy link
Owner

  • Add BINARY_{ADD,SUB,MUL,POWER}_FLOAT specializations in interpreter
  • Add asm interpreter implementation of DUP_TOP_TWO
  • Add asm interpreter implementation of ROT_THREE
  • Add INPLACE_{ADD,SUB}_FLOAT specializations in interpreter
  • Add asm interpreter implementation of BINARY_MUL_FLOAT
  • Add the other ops; they are very similar

@github-actions
Copy link

{
  "django_minimal_requests": {
    "benchmark": "django_minimal_requests",
    "cg_instructions before": 703648,
    "cg_instructions now": 703440,
    "cg_instructions ∆": "-0.0%",
    "interpreter_args": [],
    "interpreter_name": "pyro",
    "version before": "42d68454344d08f625a7eb579a8f47a536da81ee",
    "version now": "1df60d7c3b77ef93012bae8ddb265bdee34d8e92"
  }
}

@github-actions
Copy link

Summary

Metric Average Best Worst Notes
cg_instructions -5.6% nbody -70.8% bench_pickle 0.0% typically < 0.2% noise
Benchmark details

Base vs. New

benchmark cg_instructions
2to3 -0.0%
bench_base64 0.0%
bench_compile -0.0%
bench_pickle 0.0%
deltablue 0.0%
fannkuch -0.6%
go -0.3%
loadproperty 0.0%
nbody -70.8%
nqueens -0.4%
pyflate -0.6%
pystone 0.0%
richards 0.0%

CPython vs New

benchmark cg_instructions
2to3 -10.1%
bench_base64 -38.7%
bench_compile 1105.6%
bench_pickle -27.9%
deltablue -64.6%
fannkuch -4.0%
go -64.2%
loadproperty -75.2%
nbody -64.8%
nqueens 32.8%
pyflate -34.1%
pystone -71.8%
richards -80.0%

Base

benchmark cg_instructions
2to3 2,304,831,233
bench_base64 2,952,625,190
bench_compile 2,981,208,631
bench_pickle 2,988,351,069
deltablue 1,452,746,645
fannkuch 5,403,085,367
go 1,890,208,748
loadproperty 433,033,184
nbody 9,404,712,556
nqueens 2,950,974,047
pyflate 9,589,659,608
pystone 1,120,926,632
richards 963,107,922

New

benchmark cg_instructions
2to3 2,304,333,472
bench_base64 2,952,704,309
bench_compile 2,980,701,440
bench_pickle 2,989,027,574
deltablue 1,452,811,206
fannkuch 5,372,599,906
go 1,883,720,191
loadproperty 433,095,411
nbody 2,745,758,571
nqueens 2,939,113,226
pyflate 9,536,150,856
pystone 1,120,981,849
richards 963,160,438

CPython

benchmark cg_instructions
2to3 2,563,594,680
bench_base64 4,820,238,937
bench_compile 247,234,552
bench_pickle 4,143,854,730
deltablue 4,109,339,679
fannkuch 5,594,144,075
go 5,264,681,155
loadproperty 1,747,769,383
nbody 7,793,857,481
nqueens 2,213,171,998
pyflate 14,468,019,192
pystone 3,981,578,475
richards 4,821,555,544

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant