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

Add -fload-plugin and -mllvm flags to gllgo #185

Merged
merged 1 commit into from Jun 4, 2014

Conversation

Projects
None yet
2 participants
@pcc
Contributor

pcc commented Jun 4, 2014

(In case you were curious, I was using this to run the Souper pass in llgo.)

@axw

This comment has been minimized.

Show comment
Hide comment
@axw

axw Jun 4, 2014

Member

LGTM. Any interesting results to share?

Member

axw commented Jun 4, 2014

LGTM. Any interesting results to share?

@pcc

This comment has been minimized.

Show comment
Hide comment
@pcc

pcc Jun 4, 2014

Contributor

Not yet, I'm afraid. I wanted to see what it did with libgo, but there are bugs that sometimes cause the compiler to hang inside the solver and prevent the build from finishing. Once those bugs are fixed I'll try to remember to share some results.

Contributor

pcc commented Jun 4, 2014

Not yet, I'm afraid. I wanted to see what it did with libgo, but there are bugs that sometimes cause the compiler to hang inside the solver and prevent the build from finishing. Once those bugs are fixed I'll try to remember to share some results.

pcc added a commit that referenced this pull request Jun 4, 2014

Merge pull request #185 from pcc/libgo-pluginflags
Add -fload-plugin and -mllvm flags to gllgo

@pcc pcc merged commit 2e6b0bb into go-llvm:libgo Jun 4, 2014

@pcc pcc deleted the pcc:libgo-pluginflags branch Jun 4, 2014

@pcc

This comment has been minimized.

Show comment
Hide comment
@pcc

pcc Nov 7, 2014

Contributor

So I finally got around to running Souper over libgo:

  • The libgo build took about 11 minutes on my machine (as compared to about 1 minute normally).
  • benchcomp reports a geo-mean 1.8% improvement in performance for the libgo benchmarks (1.3% - 2.3% @ 95% CI).
  • The size of libgo.so decreased from 24538168 to 24524928 bytes.
  • The full list of optimizations found by Souper: http://www.pcc.me.uk/~peter/libgo-results.txt
  • Some of the biggest wins seem to come from image processing, compression and sorting benchmarks.

The top 20 performance improvements:

# benchmark-name without-souper-ns-op with-souper-ns-op ratio
BenchmarkStableInt64K 7497470.000000 6062380.000000 1.236721
BenchmarkAppendSpecialCase 44.300000 35.800000 1.237430
BenchmarkAfter 15362750.000000 12353980.000000 1.243547
BenchmarkAppendFloat 766.000000 614.000000 1.247557
BenchmarkNRGBAOver 1007819.000000 794335.000000 1.268758
BenchmarkAllocation 52325.000000 40988.000000 1.276593
BenchmarkDecodeDigits 9079210.000000 6884975.000000 1.318699
BenchmarkStable1e6 6632502000.000000 4992931000.000000 1.328378
BenchmarkDecodeDigitsCompress1e6 21680700.000000 15807110.000000 1.371579
BenchmarkDecodeDigitsCompress1e4 281471.000000 202906.000000 1.387199
BenchmarkDecodeDigitsDefault1e4 271866.000000 193607.000000 1.404216
BenchmarkAppendFloat32Integer 666.000000 473.000000 1.408034
BenchmarkDecodeDigitsSpeed1e5 2674337.000000 1878701.000000 1.423503
BenchmarkWriterFlush 37.800000 26.500000 1.426415
BenchmarkDecodeDigitsCompress1e5 2347250.000000 1642850.000000 1.428767
BenchmarkIndexRuneFastPath 17.600000 12.200000 1.442623
BenchmarkDecodeTwain 32195220.000000 22295950.000000 1.443994
BenchmarkAppendFloat32NegExp 844.000000 575.000000 1.467826
BenchmarkStableInt1K 116959.000000 78026.000000 1.498975
BenchmarkNRGBASrc 727460.000000 394435.000000 1.844309
Contributor

pcc commented Nov 7, 2014

So I finally got around to running Souper over libgo:

  • The libgo build took about 11 minutes on my machine (as compared to about 1 minute normally).
  • benchcomp reports a geo-mean 1.8% improvement in performance for the libgo benchmarks (1.3% - 2.3% @ 95% CI).
  • The size of libgo.so decreased from 24538168 to 24524928 bytes.
  • The full list of optimizations found by Souper: http://www.pcc.me.uk/~peter/libgo-results.txt
  • Some of the biggest wins seem to come from image processing, compression and sorting benchmarks.

The top 20 performance improvements:

# benchmark-name without-souper-ns-op with-souper-ns-op ratio
BenchmarkStableInt64K 7497470.000000 6062380.000000 1.236721
BenchmarkAppendSpecialCase 44.300000 35.800000 1.237430
BenchmarkAfter 15362750.000000 12353980.000000 1.243547
BenchmarkAppendFloat 766.000000 614.000000 1.247557
BenchmarkNRGBAOver 1007819.000000 794335.000000 1.268758
BenchmarkAllocation 52325.000000 40988.000000 1.276593
BenchmarkDecodeDigits 9079210.000000 6884975.000000 1.318699
BenchmarkStable1e6 6632502000.000000 4992931000.000000 1.328378
BenchmarkDecodeDigitsCompress1e6 21680700.000000 15807110.000000 1.371579
BenchmarkDecodeDigitsCompress1e4 281471.000000 202906.000000 1.387199
BenchmarkDecodeDigitsDefault1e4 271866.000000 193607.000000 1.404216
BenchmarkAppendFloat32Integer 666.000000 473.000000 1.408034
BenchmarkDecodeDigitsSpeed1e5 2674337.000000 1878701.000000 1.423503
BenchmarkWriterFlush 37.800000 26.500000 1.426415
BenchmarkDecodeDigitsCompress1e5 2347250.000000 1642850.000000 1.428767
BenchmarkIndexRuneFastPath 17.600000 12.200000 1.442623
BenchmarkDecodeTwain 32195220.000000 22295950.000000 1.443994
BenchmarkAppendFloat32NegExp 844.000000 575.000000 1.467826
BenchmarkStableInt1K 116959.000000 78026.000000 1.498975
BenchmarkNRGBASrc 727460.000000 394435.000000 1.844309
@axw

This comment has been minimized.

Show comment
Hide comment
@axw

axw Nov 10, 2014

Member

Some impressive numbers in there. Thanks for sharing.

Member

axw commented Nov 10, 2014

Some impressive numbers in there. Thanks for sharing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment