0 Replies Latest reply on Jun 9, 2008 10:26 AM by (Jono_Spiro)

    [svn] 2001: modules: Converting instances of the characters 'ff' with 'ild' -- which improves framework compiling performance by approx 15% and dorado approx 3% .

      Revision: 2001
      Author: jspiro@adobe.com
      Date: 2008-06-09 11:26:10 -0700 (Mon, 09 Jun 2008)

      Log Message:
      -----------
      modules: Converting instances of the characters 'ff' with 'ild' -- which improves framework compiling performance by approx 15% and dorado approx 3%.
      * Replaced all "StringBuffer" with "StringBuilder" -- the unsynchronized version which was introduced in Java 1.5. Compiler code is not threadsafe as it is, so this is 100% safe.
      * The bulk of speedup comes from Parser.java and Scanner.java (easily the 99% case) -- when parsing AS3.
      * Makes IO more consistent, we no longer have any instances of StringBuffer, and no longer need to think about whether there is a perf benefit of using one or the other. Always use StringBuilder.
      * As Sun improves the JREs, synchronization overhead will decrease, and the benefit of this change will become less apparent. However, this is not the case with Java 1.5, our target JRE.

      Modified Paths:
      --------------
      flex/sdk/trunk/modules/antTasks/src/flex/ant/FlexTask.java
      flex/sdk/trunk/modules/antTasks/src/flex/ant/config/NestedAttributeElement.java
      flex/sdk/trunk/modules/asc/build/java/src/Downgrader.java
      flex/sdk/trunk/modules/asc/src/java/macromedia/abc/AbcParser.java
      flex/sdk/trunk/modules/asc/src/java/macromedia/abc/MultiName.java
      flex/sdk/trunk/modules/asc/src/java/macromedia/asc/embedding/Compiler.java
      flex/sdk/trunk/modules/asc/src/java/macromedia/asc/embedding/LintEvaluator.java
      flex/sdk/trunk/modules/asc/src/java/macromedia/asc/embedding/Main.java
      flex/sdk/trunk/modules/asc/src/java/macromedia/asc/embedding/Shell.java
      flex/sdk/trunk/modules/asc/src/java/macromedia/asc/embedding/avmplus/ActionBlockEmitter.j ava
      flex/sdk/trunk/modules/asc/src/java/macromedia/asc/embedding/avmplus/ByteCodeFactory.java
      flex/sdk/trunk/modules/asc/src/java/macromedia/asc/parser/DocCommentNode.java
      flex/sdk/trunk/modules/asc/src/java/macromedia/asc/parser/FunctionSignatureNode.java
      flex/sdk/trunk/modules/asc/src/java/macromedia/asc/parser/InputBuffer.java
      flex/sdk/trunk/modules/asc/src/java/macromedia/asc/parser/MemberExpressionNode.java
      flex/sdk/trunk/modules/asc/src/java/macromedia/asc/parser/Node.java
      flex/sdk/trunk/modules/asc/src/java/macromedia/asc/parser/NodeFactory.java
      flex/sdk/trunk/modules/asc/src/java/macromedia/asc/parser/PackageIdentifiersNode.java
      flex/sdk/trunk/modules/asc/src/java/macromedia/asc/parser/ParameterListNode.java
      flex/sdk/trunk/modules/asc/src/java/macromedia/asc/parser/Parser.java
      flex/sdk/trunk/modules/asc/src/java/macromedia/asc/parser/Scanner.java
      flex/sdk/trunk/modules/asc/src/java/macromedia/asc/parser/Token.java
      flex/sdk/trunk/modules/asc/src/java/macromedia/asc/parser/TypeExpressionNode.java
      flex/sdk/trunk/modules/asc/src/java/macromedia/asc/semantics/ConstantEvaluator.java
      flex/sdk/trunk/modules/asc/src/java/macromedia/asc/util/BitSet.java
      flex/sdk/trunk/modules/asc/src/java/macromedia/asc/util/Context.java
      flex/sdk/trunk/modules/asc/src/java/macromedia/asc/util/Decimal128.java
      flex/sdk/trunk/modules/compiler/src/java/flash/css/Descriptor.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/CompilerSwcContext.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/SourceList.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/SourcePath.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/as3/As3Compiler.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/as3/MetaDataParser.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/as3/reflect/NodeMagic.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/as3/reflect/TypeTable.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/asdoc/ASDocExtension.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/asdoc/AsDocAPI.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/asdoc/TopLevelGenerator.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/common/MetadataConfiguration.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/config/CommandLineConfigurator.ja va
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/config/ConfigurationBuffer.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/config/FileConfigurator.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/StyleDef.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/i18n/I18nCompiler.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/i18n/PropertyText.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/io/FileUtil.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/media/MovieTranscoder.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/media/XMLTranscoder.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/builder/AbstractBuilder.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/builder/AbstractDocumentBuil der.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/builder/XMLBuilder.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/builder/XMLListBuilder.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/gen/CodeFragmentList.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/gen/TextGen.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/lang/TextParser.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/rep/AtEmbed.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/rep/BindingExpression.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/rep/EventHandler.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/rep/MxmlDocument.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/rep/init/ValueInitializer.ja va
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/swc/Digest.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/swc/catalog/CatalogReader.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/util/AbstractLogger.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/util/ConsoleLogger.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/util/LocalLogger.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/util/MD5Crypt.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/util/MultiName.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/util/OrderedProperties.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/util/QName.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/util/QNameList.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/util/QNameSet.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/util/XMLStringSerializer.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/linker/DependencyWalker.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/linker/FlexMovie.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/tools/Fcsh.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/tools/MovieMetaDataPrinter.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/tools/PreLink.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/tools/oem/internal/OEMConfiguration.java
      flex/sdk/trunk/modules/debugger/src/java/flash/tools/debugger/DebuggerLocalizer.java
      flex/sdk/trunk/modules/debugger/src/java/flash/tools/debugger/concrete/DManager.java
      flex/sdk/trunk/modules/debugger/src/java/flash/tools/debugger/concrete/DMessage.java
      flex/sdk/trunk/modules/debugger/src/java/flash/tools/debugger/concrete/DModule.java
      flex/sdk/trunk/modules/debugger/src/java/flash/tools/debugger/concrete/DValue.java
      flex/sdk/trunk/modules/debugger/src/java/flash/tools/debugger/concrete/PlayerSession.java
      flex/sdk/trunk/modules/debugger/src/java/flash/tools/debugger/expression/ASTBuilder.java
      flex/sdk/trunk/modules/debugger/src/java/flash/util/URLEncoder.java
      flex/sdk/trunk/modules/debugger/src/java/flash/util/URLHelper.java
      flex/sdk/trunk/modules/debugger/src/java/flex/tools/debugger/cli/DebugCLI.java
      flex/sdk/trunk/modules/debugger/src/java/flex/tools/debugger/cli/ExpressionCache.java
      flex/sdk/trunk/modules/debugger/src/java/flex/tools/debugger/cli/ExpressionContext.java
      flex/sdk/trunk/modules/debugger/src/java/flex/tools/debugger/cli/Extensions.java
      flex/sdk/trunk/modules/debugger/src/java/flex/tools/debugger/cli/ExtensionsDisabled.java
      flex/sdk/trunk/modules/debugger/src/java/flex/tools/debugger/cli/Help.java
      flex/sdk/trunk/modules/swfutils/src/java/flash/fonts/FontManager.java
      flex/sdk/trunk/modules/swfutils/src/java/flash/localization/XLRLocalizer.java
      flex/sdk/trunk/modules/swfutils/src/java/flash/swf/MovieMetaData.java
      flex/sdk/trunk/modules/swfutils/src/java/flash/swf/SwfDecoder.java
      flex/sdk/trunk/modules/swfutils/src/java/flash/swf/SwfUtils.java
      flex/sdk/trunk/modules/swfutils/src/java/flash/swf/actions/ConstantPool.java
      flex/sdk/trunk/modules/swfutils/src/java/flash/swf/debug/RegisterRecord.java
      flex/sdk/trunk/modules/swfutils/src/java/flash/swf/tags/DefineSprite.java
      flex/sdk/trunk/modules/swfutils/src/java/flash/swf/tools/AbcPrinter.java
      flex/sdk/trunk/modules/swfutils/src/java/flash/swf/tools/Disassembler.java
      flex/sdk/trunk/modules/swfutils/src/java/flash/swf/tools/SwfxParser.java
      flex/sdk/trunk/modules/swfutils/src/java/flash/swf/tools/SwfxPrinter.java
      flex/sdk/trunk/modules/swfutils/src/java/flash/swf/tools/SyntaxTreeDumper.java
      flex/sdk/trunk/modules/swfutils/src/java/flash/swf/types/ActionList.java
      flex/sdk/trunk/modules/swfutils/src/java/flash/swf/types/ButtonCondAction.java
      flex/sdk/trunk/modules/swfutils/src/java/flash/swf/types/ButtonRecord.java
      flex/sdk/trunk/modules/swfutils/src/java/flash/swf/types/MD5.java
      flex/sdk/trunk/modules/swfutils/src/java/flash/swf/types/Matrix.java
      flex/sdk/trunk/modules/swfutils/src/java/flash/swf/types/Rect.java
      flex/sdk/trunk/modules/swfutils/src/java/flash/swf/types/TagList.java
      flex/sdk/trunk/modules/swfutils/src/java/flash/util/Base64.java
      flex/sdk/trunk/modules/swfutils/src/java/flash/util/ExceptionUtil.java
      flex/sdk/trunk/modules/swfutils/src/java/flash/util/FieldFormat.java
      flex/sdk/trunk/modules/swfutils/src/java/flash/util/FileUtils.java
      flex/sdk/trunk/modules/swfutils/src/java/flash/util/StringJoiner.java
      flex/sdk/trunk/modules/swfutils/src/java/flash/util/StringUtils.java