Project

General

Profile

Bug #11556

[PERF] app_strconcat

Added by tgxworld (Guo Xiang Tan) about 4 years ago. Updated 4 months ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
-
ruby -v:
ruby 2.3.0dev (2015-09-10 trunk 51820) [x86_64-linux]
[ruby-core:<unknown>]

Description

total: 2 trial(s) (2 trial(s) for 1 benchmark(s))

..

benchmark results:
Execution time (sec)
name ruby 2.3.0dev (2015-09-10 trunk 51818) [x86_64-linux]
app_strconcat 0.923

total: 2 trial(s) (2 trial(s) for 1 benchmark(s))

..

benchmark results:
Execution time (sec)
name ruby 2.3.0dev (2015-09-10 trunk 51820) [x86_64-linux]
app_strconcat 1.045

View full graph at http://rubybench.org/ruby/ruby/commits?result_type=app_strconcat

Let me know if more information is needed :) Thanks!

Associated revisions

Revision ed8b452e
Added by nobu (Nobuyoshi Nakada) about 4 years ago

compile.c: fix performance of strconcat

  • compile.c (compile_dstr_fragments): fix performance by omitting the first empty string only for keeping literal encoding if other literals are too. [ruby-core:70930] [Bug #11556]
  • string.c (rb_str_append_literal): append but keep encoding non US-ASCII.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51970 b2dd03c8-39d4-4d8f-98ff-823fe69b080e

Revision 51970
Added by nobu (Nobuyoshi Nakada) about 4 years ago

compile.c: fix performance of strconcat

  • compile.c (compile_dstr_fragments): fix performance by omitting the first empty string only for keeping literal encoding if other literals are too. [ruby-core:70930] [Bug #11556]
  • string.c (rb_str_append_literal): append but keep encoding non US-ASCII.

Revision 51970
Added by nobu (Nobuyoshi Nakada) about 4 years ago

compile.c: fix performance of strconcat

  • compile.c (compile_dstr_fragments): fix performance by omitting the first empty string only for keeping literal encoding if other literals are too. [ruby-core:70930] [Bug #11556]
  • string.c (rb_str_append_literal): append but keep encoding non US-ASCII.

Revision 51970
Added by nobu (Nobuyoshi Nakada) about 4 years ago

compile.c: fix performance of strconcat

  • compile.c (compile_dstr_fragments): fix performance by omitting the first empty string only for keeping literal encoding if other literals are too. [ruby-core:70930] [Bug #11556]
  • string.c (rb_str_append_literal): append but keep encoding non US-ASCII.

Revision 51970
Added by nobu (Nobuyoshi Nakada) about 4 years ago

compile.c: fix performance of strconcat

  • compile.c (compile_dstr_fragments): fix performance by omitting the first empty string only for keeping literal encoding if other literals are too. [ruby-core:70930] [Bug #11556]
  • string.c (rb_str_append_literal): append but keep encoding non US-ASCII.

Revision 51970
Added by nobu (Nobuyoshi Nakada) about 4 years ago

compile.c: fix performance of strconcat

  • compile.c (compile_dstr_fragments): fix performance by omitting the first empty string only for keeping literal encoding if other literals are too. [ruby-core:70930] [Bug #11556]
  • string.c (rb_str_append_literal): append but keep encoding non US-ASCII.

History

#1

Updated by nobu (Nobuyoshi Nakada) about 4 years ago

  • Status changed from Open to Closed

Applied in changeset r51970.


compile.c: fix performance of strconcat

  • compile.c (compile_dstr_fragments): fix performance by omitting the first empty string only for keeping literal encoding if other literals are too. [ruby-core:70930] [Bug #11556]
  • string.c (rb_str_append_literal): append but keep encoding non US-ASCII.
#2

Updated by nobu (Nobuyoshi Nakada) about 4 years ago

Thank you.

BTW, when will a new benchmark appear there?

#3

Updated by tgxworld (Guo Xiang Tan) about 4 years ago

Hi Nobu!

Currently the new commits will appear whenever I rebase my fork of the Ruby repo. Do you know who I can reach out to in order to insert a Github hook into the Ruby repro?

Thanks for fixing the issue!

#4

Updated by nobu (Nobuyoshi Nakada) about 4 years ago

Guo Xiang Tan wrote:

Currently the new commits will appear whenever I rebase my fork of the Ruby repo. Do you know who I can reach out to in order to insert a Github hook into the Ruby repro?

hsbt (Hiroshi SHIBATA) could manage it, I think.

Thanks for fixing the issue!

It seems worse than before on your system, while it was better on my system...

#5

Updated by nobu (Nobuyoshi Nakada) about 4 years ago

Guo Xiang Tan wrote:

Currently the new commits will appear whenever I rebase my fork of the Ruby repo. Do you know who I can reach out to in order to insert a Github hook into the Ruby repro?

I meant http://rubybench.org/ruby/ruby/commits?result_type=vm_symbol_block_pass was missing.
New benchmark files are added manually?

#6

Updated by tgxworld (Guo Xiang Tan) about 4 years ago

Ah yes I have to add it in manually to https://github.com/ruby-bench/ruby-bench-suite.

Also, I'm seeing a regression on this issue. Let me know if you need more information :)

Ran locally.

total: 2 trial(s) (2 trial(s) for 1 benchmark(s))
..
-----------------------------------------------------------
benchmark results:
Execution time (sec)
name    ruby 2.3.0dev (2015-09-29 trunk 51970) [x86_64-linux]
app_strconcat   1.065
#7

Updated by tgxworld (Guo Xiang Tan) about 4 years ago

It seems worse than before on your system, while it was better on my system...

Ah I missed this. Hmm is there more information I can provide to help you?

#8

Updated by tgxworld (Guo Xiang Tan) about 4 years ago

nobu (Nobuyoshi Nakada) could we reopen this?

I compiled locally instead of using Docker which I use for RubyBench and got the following results.


benchmark results:
Execution time (sec)
name ruby 2.3.0dev (2015-09-29 test_branch 51970) [x86_64-linux]
app_strconcat 0.995

Log file: bmlog-20151001-144505.11698.tsv


benchmark results:
Execution time (sec)
name ruby 2.3.0dev (2015-09-10 test_branch 51820) [x86_64-linux]
app_strconcat 0.999

Log file: bmlog-20151001-144523.11780.tsv


benchmark results:
Execution time (sec)
name ruby 2.3.0dev (2015-09-10 test_branch 51818) [x86_64-linux]
app_strconcat 0.901

Log file: bmlog-20151001-144534.11846.tsv

#9

Updated by nobu (Nobuyoshi Nakada) about 4 years ago

  • Status changed from Closed to Open
#10

Updated by tgxworld (Guo Xiang Tan) about 4 years ago

benchmark results:
Execution time (sec)

name ruby 2.3.0dev (2015-10-09 trunk 52095) [x86_64-linux] ruby 2.3.0dev (2015-09-10 test_branch 51820) [x86_64-linux] ruby 2.3.0dev (2015-09-10 test_branch 51818) [x86_64-linux]
app_strconcat 0.952 1.031 0.926

nobu (Nobuyoshi Nakada) Am I right to say you fixed this? I'm seeing the performance return to the previous level. :)

#11

Updated by jeremyevans0 (Jeremy Evans) 4 months ago

  • Status changed from Open to Closed

Also available in: Atom PDF