Skip to content

Specialize binary ops for floats#484

Draft
tekknolagi wants to merge 6 commits into
trunkfrom
mb-specialize-bin-float
Draft

Specialize binary ops for floats#484
tekknolagi wants to merge 6 commits into
trunkfrom
mb-specialize-bin-float

Conversation

@tekknolagi

Copy link
Copy Markdown
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
Copy Markdown
{
  "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
Copy Markdown

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