Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(1413)

Issue 13537043: replaced function argument 'string' by 'const string&' where it makes sense to avoid unnecessary co…

Can't Edit
Can't Publish+Mail
Start Review
Created:
10 years, 8 months ago by fred1995
Modified:
10 years, 8 months ago
Reviewers:
Keith, dak
CC:
lilypond-devel_gnu.org
Visibility:
Public.

Description

replaced function argument 'string' by 'const string&' where it makes sense to avoid unnecessary copying of 'string' objects. Measurements on x86_64 (i7-2760QM, 2.40GHz) Fedora 19 with g++ 4.8.1, with configure --enable-optimising --disable-debugging; tests run 10 times, average elapsed time compared (/usr/bin/time) * Bach, Concerto in E major or violin and strings, BWV 1042 (Mutopia source), 38 pages: $ lilypond score.ly -> master: 15.4s, with patch: -0.1% * lilypond regression tests (1153 .ly files): $ lilypond *.ly -> master: 276.6s, with patch: -2.5%

Patch Set 1 #

Total comments: 3
Unified diffs Side-by-side diffs Delta from patch set Stats (+248 lines, -254 lines) Patch
M flower/file-name.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M flower/file-path.cc View 4 chunks +6 lines, -6 lines 0 comments Download
M flower/include/file-name.hh View 1 chunk +1 line, -1 line 0 comments Download
M flower/include/file-path.hh View 1 chunk +6 lines, -6 lines 0 comments Download
M flower/include/international.hh View 1 chunk +1 line, -1 line 0 comments Download
M flower/include/std-string.hh View 2 chunks +2 lines, -2 lines 0 comments Download
M flower/include/std-vector.hh View 1 chunk +1 line, -1 line 0 comments Download
M flower/include/string-convert.hh View 1 chunk +7 lines, -7 lines 0 comments Download
M flower/include/warn.hh View 1 chunk +10 lines, -10 lines 0 comments Download
M flower/international.cc View 1 chunk +1 line, -1 line 0 comments Download
M flower/std-string.cc View 3 chunks +3 lines, -3 lines 0 comments Download
M flower/string-convert.cc View 7 chunks +9 lines, -9 lines 0 comments Download
M flower/warn.cc View 9 chunks +11 lines, -11 lines 0 comments Download
M lily/all-font-metrics.cc View 4 chunks +4 lines, -4 lines 0 comments Download
M lily/audio-item.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/auto-change-iterator.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M lily/axis-group-interface.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/change-iterator.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/context.cc View 5 chunks +5 lines, -5 lines 0 comments Download
M lily/control-track-performer.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M lily/file-name-map.cc View 1 chunk +2 lines, -2 lines 3 comments Download
M lily/font-metric.cc View 3 chunks +2 lines, -8 lines 0 comments Download
M lily/function-documentation.cc View 3 chunks +5 lines, -5 lines 0 comments Download
M lily/global-context.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/gregorian-ligature.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/grob.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M lily/includable-lexer.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M lily/include/all-font-metrics.hh View 1 chunk +4 lines, -4 lines 0 comments Download
M lily/include/audio-item.hh View 1 chunk +1 line, -1 line 0 comments Download
M lily/include/axis-group-interface.hh View 1 chunk +1 line, -1 line 0 comments Download
M lily/include/change-iterator.hh View 1 chunk +1 line, -1 line 0 comments Download
M lily/include/context.hh View 4 chunks +5 lines, -5 lines 0 comments Download
M lily/include/file-name-map.hh View 1 chunk +1 line, -1 line 0 comments Download
M lily/include/font-metric.hh View 1 chunk +3 lines, -3 lines 0 comments Download
M lily/include/global-context.hh View 1 chunk +1 line, -1 line 0 comments Download
M lily/include/grob.hh View 1 chunk +2 lines, -2 lines 0 comments Download
M lily/include/includable-lexer.hh View 1 chunk +2 lines, -2 lines 0 comments Download
M lily/include/input.hh View 2 chunks +7 lines, -7 lines 0 comments Download
M lily/include/lily-guile.hh View 2 chunks +3 lines, -3 lines 0 comments Download
M lily/include/lily-guile-macros.hh View 2 chunks +3 lines, -3 lines 0 comments Download
M lily/include/lily-lexer.hh View 2 chunks +7 lines, -7 lines 0 comments Download
M lily/include/lily-parser.hh View 1 chunk +7 lines, -7 lines 0 comments Download
M lily/include/lilypond-version.hh View 1 chunk +1 line, -1 line 0 comments Download
M lily/include/midi-chunk.hh View 1 chunk +1 line, -1 line 0 comments Download
M lily/include/midi-stream.hh View 1 chunk +2 lines, -2 lines 0 comments Download
M lily/include/misc.hh View 1 chunk +1 line, -1 line 0 comments Download
M lily/include/modified-font-metric.hh View 1 chunk +2 lines, -2 lines 0 comments Download
M lily/include/note-head.hh View 1 chunk +1 line, -1 line 0 comments Download
M lily/include/open-type-font.hh View 2 chunks +5 lines, -5 lines 0 comments Download
M lily/include/output-def.hh View 1 chunk +1 line, -1 line 0 comments Download
M lily/include/pango-font.hh View 2 chunks +2 lines, -2 lines 0 comments Download
M lily/include/paper-outputter.hh View 1 chunk +1 line, -1 line 0 comments Download
M lily/include/relocate.hh View 1 chunk +4 lines, -4 lines 0 comments Download
M lily/include/rest.hh View 1 chunk +1 line, -1 line 0 comments Download
M lily/include/slur-configuration.hh View 1 chunk +1 line, -1 line 0 comments Download
M lily/include/slur-proto-engraver.hh View 1 chunk +2 lines, -2 lines 0 comments Download
M lily/include/source-file.hh View 2 chunks +3 lines, -3 lines 0 comments Download
M lily/include/tie-configuration.hh View 2 chunks +3 lines, -3 lines 0 comments Download
M lily/input.cc View 3 chunks +7 lines, -7 lines 0 comments Download
M lily/lexer.ll View 3 chunks +3 lines, -3 lines 0 comments Download
M lily/lily-guile.cc View 2 chunks +4 lines, -4 lines 0 comments Download
M lily/lily-lexer.cc View 3 chunks +4 lines, -4 lines 0 comments Download
M lily/lily-parser.cc View 5 chunks +6 lines, -6 lines 0 comments Download
M lily/lilypond-version.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/main.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M lily/midi-chunk.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/midi-stream.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M lily/misc.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M lily/modified-font-metric.cc View 3 chunks +3 lines, -3 lines 0 comments Download
M lily/note-head.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/open-type-font.cc View 5 chunks +5 lines, -5 lines 0 comments Download
M lily/output-def.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/pango-font.cc View 2 chunks +3 lines, -3 lines 0 comments Download
M lily/paper-outputter.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/parser.yy View 1 chunk +1 line, -1 line 0 comments Download
M lily/relocate.cc View 8 chunks +8 lines, -8 lines 0 comments Download
M lily/rest.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/slur-configuration.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/slur-proto-engraver.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M lily/source-file.cc View 3 chunks +3 lines, -3 lines 0 comments Download
M lily/staff-performer.cc View 7 chunks +12 lines, -12 lines 0 comments Download
M lily/tie-configuration.cc View 3 chunks +3 lines, -3 lines 0 comments Download
M lily/ttf.cc View 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 3
Keith
I tried to go through and look for unintended consequences. I guess f(const string &s) ...
10 years, 8 months ago (2013-09-06 21:42:23 UTC) #1
fred1995
https://codereview.appspot.com/13537043/diff/1/lily/file-name-map.cc File lily/file-name-map.cc (left): https://codereview.appspot.com/13537043/diff/1/lily/file-name-map.cc#oldcode32 lily/file-name-map.cc:32: s = file_name_map_global[s]; Then it would require 'string &s'.
10 years, 8 months ago (2013-09-07 04:44:02 UTC) #2
dak
10 years, 8 months ago (2013-09-10 01:12:48 UTC) #3
https://codereview.appspot.com/13537043/diff/1/lily/file-name-map.cc
File lily/file-name-map.cc (left):

https://codereview.appspot.com/13537043/diff/1/lily/file-name-map.cc#oldcode32
lily/file-name-map.cc:32: s = file_name_map_global[s];
On 2013/09/07 04:44:02, fred1995 wrote:
> Then it would require 'string &s'.

I checked.  Uses are few and obviously don't intend such a change to occur.
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b