Project

General

Profile

Actions

Bug #11556

closed

[PERF] app_strconcat

Added by tgxworld (Guo Xiang Tan) about 9 years ago. Updated over 5 years ago.

Status:
Closed
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!

Actions #1

Updated by nobu (Nobuyoshi Nakada) about 9 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.
Actions #2

Updated by nobu (Nobuyoshi Nakada) about 9 years ago

Thank you.

BTW, when will a new benchmark appear there?

Actions #3

Updated by tgxworld (Guo Xiang Tan) about 9 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!

Actions #4

Updated by nobu (Nobuyoshi Nakada) about 9 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...

Actions #5

Updated by nobu (Nobuyoshi Nakada) about 9 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?

Actions #6

Updated by tgxworld (Guo Xiang Tan) about 9 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
Actions #7

Updated by tgxworld (Guo Xiang Tan) about 9 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?

Actions #8

Updated by tgxworld (Guo Xiang Tan) about 9 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

Actions #9

Updated by nobu (Nobuyoshi Nakada) about 9 years ago

  • Status changed from Closed to Open
Actions #10

Updated by tgxworld (Guo Xiang Tan) about 9 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. :)

Actions #11

Updated by jeremyevans0 (Jeremy Evans) over 5 years ago

  • Status changed from Open to Closed
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0