Permalink
Commits on Jan 10, 2019
  1. Merge pull request #28 from brentdax/must-go-faster

    brentdax committed Jan 10, 2019
    [WIP] Miscellaneous swift-evolve speed improvements
  2. Precompute DeclContext.name

    brentdax committed Jan 5, 2019
    It gets called a *lot*. Wall time drops from 28 sec to 14 sec.
  3. Store list of excluded declarations as a Set

    brentdax committed Jan 5, 2019
    This turned out to be a pretty hot code path.
  4. Use [Int] instead of IndexPath

    brentdax committed Jan 5, 2019
    The latter copies its internal array every time you call removeLast(), which we do frequently.
  5. Hide detailed output behind a --verbose flag

    brentdax committed Jan 5, 2019
    In addition to simply reducing console I/O, this change means we can omit detailed line-and-column information from sourceLocations, which is very expensive to calculate (20% of runtime).
  6. Merge pull request #27 from brentdax/i-want-to-sit-under-my-own-byte-…

    brentdax committed Jan 10, 2019
    …and-syn-tree
    
    [WIP] Speed up swift-evolve by using SwiftLang and byte trees
Commits on Jan 9, 2019
  1. Run tests with SwiftLang.parse(_:into:), too

    brentdax committed Jan 9, 2019
    Ensures we’re testing the same way we’re running, and thereby fixes test failures caused by running them with the wrong compiler.
  2. Parse files with SwiftLang and byte trees

    brentdax committed Jan 4, 2019
    swift-evolve spends most of its time parsing the JSON in the parser’s syntax tree; using the byte-tree format instead is dramatically more efficient. With this change, evolving swift/stdlib/public/core/Integers.swift goes from 145 seconds to 55 seconds (real time). Requires apple/swift#21542.
  3. Merge pull request #26 from brentdax/great-artists-steal

    brentdax committed Jan 9, 2019
    Share build-script-helper between both tools
Commits on Jan 8, 2019
  1. Lift several install lines out of the product loop

    brentdax committed Jan 8, 2019
    The rpaths_to_delete line is the probable cause of a failure; the others are just unnecessary to run repeatedly.
Commits on Jan 4, 2019
  1. Build less in evolve-swiftCore driver

    brentdax committed Jan 4, 2019
    Now that we’re properly integrated, we don’t need to explicitly build SwiftPM anymore.
  2. Fix accidentally hardcoded build dir

    brentdax committed Jan 4, 2019
    Code previously used to calculate a default value was changed to being always run without updating it to use the non-default value. Oops.
Commits on Jan 3, 2019
  1. Replace old build-script-helper with shim script

    brentdax committed Jan 3, 2019
    The modified version locates and calls through to the new script rather than duplicating all of its logic.
Commits on Jan 2, 2019
  1. Update README files

    brentdax committed Jan 2, 2019
  2. Modify root build-script-helper for both packages

    brentdax committed Jan 2, 2019
    These changes allow an invocation to specify whether it should build SourceKitStressTester or SwiftEvolve. In theory, it should behave virtually identically for SourceKitStressTester, but also work for SwiftEvolve.
    
    This commit also contains matching changes to SwiftEvolve’s package configuration. With those changes, it will build correctly *only* through build-script-helper.
    
    Finally, it includes changes to evolve-swiftCore.sh to build SwiftEvolve through the swift build-script command. This won’t actually work until apple/swift#21523 lands with that support, so evolve-swiftCore.sh is temporarily broken.
  3. Copy build-script-helper.py up to project root

    brentdax committed Jan 2, 2019
    I’m temporarily leaving the old SourceKitStressTester build-script-helper in place so I don’t have to coordinate breaking changes to apple/swift’s utils/build-script.
    
    The copied script has not yet been modified to be usable in this location, but committing this version will make it easier to see what changed when reviewing this pull request.