-
Notifications
You must be signed in to change notification settings - Fork 4.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Provide a new implementation of IPersistenceService that sits on top of the new platform 'cloud cache' system. #50762
Merged
Merged
Changes from 132 commits
Commits
Show all changes
141 commits
Select commit
Hold shift + click to select a range
bf62038
Throw if we can't successfully make a db
CyrusNajmabadi b7711fd
Print storage location
CyrusNajmabadi 6e8f1aa
Add package reference
CyrusNajmabadi 5a1bd0b
Working test
CyrusNajmabadi 0ca6473
Update references
CyrusNajmabadi cc69cba
Merge branch 'asyncStorage' into cloudCache
CyrusNajmabadi ae267e7
Start fleshing out vs side
CyrusNajmabadi d6ba7b1
Merge branch 'asyncStorage' into cloudCache
CyrusNajmabadi fb3a0a3
Merge branch 'noChecksum' into cloudCache
CyrusNajmabadi 8bc7b8e
Continued work
CyrusNajmabadi 7ce39e0
Merge branch 'asyncStorage' into cloudCache
CyrusNajmabadi 91527af
Everything compiles
CyrusNajmabadi 4169f79
Rejigger
CyrusNajmabadi 60c788c
Move code down
CyrusNajmabadi 66cca33
VS side
CyrusNajmabadi 33b4ed7
Update benchmark
CyrusNajmabadi 92d018a
Perf work
CyrusNajmabadi 7c734c0
Working
CyrusNajmabadi e75cc28
Merge remote-tracking branch 'upstream/master' into cloudCache
CyrusNajmabadi e99f17e
testing
CyrusNajmabadi e4b906b
Merge branch 'cloudCache' of https://github.com/CyrusNajmabadi/roslyn…
CyrusNajmabadi 8799e80
Merge branch 'newSqlite' into cloudCache
CyrusNajmabadi 100f085
Switch to sqlite
CyrusNajmabadi 080d73c
Use same comparer as VSdoes
CyrusNajmabadi eae6643
Use reader
CyrusNajmabadi 417eeaa
Add tests
CyrusNajmabadi c2d57b6
Fix dimensions
CyrusNajmabadi 6d506fb
Fix test harness
CyrusNajmabadi 2f3e7de
Merge branch 'storageChecksum' into cloudCache
CyrusNajmabadi ab0ac45
New key system
CyrusNajmabadi 024654d
Merge branch 'storageChecksum' into cloudCache
CyrusNajmabadi e759fc5
Fallout
CyrusNajmabadi d482e6a
Merge remote-tracking branch 'upstream/master' into cloudCache
CyrusNajmabadi 2da3576
Upgrade to latest
CyrusNajmabadi 661d36c
Add message
CyrusNajmabadi 70583a7
Buffer reads
CyrusNajmabadi 237e39f
latest andrew
CyrusNajmabadi f8ed75b
update benchmarks
CyrusNajmabadi 5c89b8e
Get building
CyrusNajmabadi 66c89de
Merge remote-tracking branch 'upstream/master' into cloudCache
CyrusNajmabadi 781f95d
Bmarks
CyrusNajmabadi 393344d
Merge branch 'master' into cloudCache
CyrusNajmabadi d94d1de
import properly
CyrusNajmabadi 845d817
Use latest version
CyrusNajmabadi 249c654
Remove benchmarks
CyrusNajmabadi 5c3e873
Update NuGet.config
CyrusNajmabadi b601fe3
Update eng/Versions.props
CyrusNajmabadi 063d2e0
Add docs
CyrusNajmabadi e0aab47
Add docs
CyrusNajmabadi 53e8cba
Remove unused code.
CyrusNajmabadi 33c91ce
Set default back to sqlite
CyrusNajmabadi c3c1cd8
Add comment
CyrusNajmabadi af5d8e0
Update test
CyrusNajmabadi a5797a3
Merge remote-tracking branch 'upstream/master' into cloudCache
CyrusNajmabadi 6c46b36
rejigger test
CyrusNajmabadi 2fd3b81
rejigger test
CyrusNajmabadi fd0edcf
Merge remote-tracking branch 'upstream/master-vs-deps' into cloudCache
CyrusNajmabadi 6cd3866
Merge branch 'cloudCache' of https://github.com/CyrusNajmabadi/roslyn…
CyrusNajmabadi cd7c7f6
Update version
CyrusNajmabadi 81478ad
Merge branch 'cloudCache' of https://github.com/CyrusNajmabadi/roslyn…
CyrusNajmabadi 8ae0851
Merge branch 'removeInternalDep' into cloudCache
CyrusNajmabadi 40fc9b6
Remove
CyrusNajmabadi 19741c2
Fixup
CyrusNajmabadi 87aaab5
Async dispose
CyrusNajmabadi 2eba470
Merge branch 'asyncDisposeStorage' into cloudCache
CyrusNajmabadi 7f58d01
Tweak
CyrusNajmabadi e43b37d
Update version
CyrusNajmabadi 228347b
Remove unused usings
CyrusNajmabadi c45e4b6
Merge remote-tracking branch 'upstream/master-vs-deps' into cloudCache
CyrusNajmabadi 1d922ec
Merge remote-tracking branch 'origin/asyncDisposeStorage' into cloudC…
CyrusNajmabadi 4cd5fda
merge conflict
CyrusNajmabadi d30bae7
Merge remote-tracking branch 'upstream/master' into cloudCache
CyrusNajmabadi 3cc4fcf
Merge remote-tracking branch 'upstream/master-vs-deps' into cloudCache
CyrusNajmabadi bf3b5e2
Share code
CyrusNajmabadi 8c47c1f
Share code
CyrusNajmabadi 960d9fb
Share code
CyrusNajmabadi 1056738
Update src/Tools/IdeCoreBenchmarks/Program.cs
CyrusNajmabadi 0e8b2f5
Move
CyrusNajmabadi f6ca210
Merge branch 'cloudCache' of https://github.com/CyrusNajmabadi/roslyn…
CyrusNajmabadi 3e28280
Share more test code
CyrusNajmabadi 1d8543c
Add comment
CyrusNajmabadi 289ff28
Add comments
CyrusNajmabadi 6eff869
Update comment
CyrusNajmabadi cefb2c6
Remove option
CyrusNajmabadi f8a130d
Remove unnecessary call
CyrusNajmabadi 50a817b
Use helper
CyrusNajmabadi 826c5ec
Use proper comparer
CyrusNajmabadi 2cab685
Add comment
CyrusNajmabadi 917ceba
Narrow scope of field
CyrusNajmabadi 9175866
Share code
CyrusNajmabadi 27204a3
Add comment
CyrusNajmabadi c133ba7
Update version
CyrusNajmabadi 711990e
Update mock
CyrusNajmabadi 8bb9f24
Merge remote-tracking branch 'upstream/master' into cloudCache
CyrusNajmabadi f312c96
Build
CyrusNajmabadi b987f2e
Merge remote-tracking branch 'upstream/master-vs-deps' into cloudCache
CyrusNajmabadi 2d92fad
Merge remote-tracking branch 'upstream/master-vs-deps' into cloudCache
CyrusNajmabadi e16117b
Merge remote-tracking branch 'upstream/master-vs-deps' into cloudCache
CyrusNajmabadi ff05577
Rename
CyrusNajmabadi 2cc1213
Update comment
CyrusNajmabadi 3b3068b
Update src/Workspaces/Core/Portable/Storage/CloudCache/ProjectCacheCo…
CyrusNajmabadi e1c6767
Update src/Workspaces/Core/Portable/Storage/CloudCache/CloudCachePers…
CyrusNajmabadi f19459a
Update src/Workspaces/Core/Portable/Storage/CloudCache/ProjectCacheCo…
CyrusNajmabadi d10adeb
Update src/VisualStudio/CSharp/Test/PersistentStorage/AbstractPersist…
CyrusNajmabadi ad72675
Update src/VisualStudio/Core/Def/Storage/VisualStudioCloudCacheServic…
CyrusNajmabadi 23dfcd6
Merge remote-tracking branch 'upstream/master-vs-deps' into cloudCache
CyrusNajmabadi 5e19d30
Renames
CyrusNajmabadi b73b763
Update comments
CyrusNajmabadi 3f4101d
Renames
CyrusNajmabadi bc59fe2
Change enum value
CyrusNajmabadi a258e12
Add docs
CyrusNajmabadi c870298
remove check
CyrusNajmabadi ff1f9c9
remove check
CyrusNajmabadi efb818a
Renames
CyrusNajmabadi 35e671a
Add comment
CyrusNajmabadi daf7418
Add docs
CyrusNajmabadi 4a7544a
Spelling
CyrusNajmabadi bd08648
Add helper
CyrusNajmabadi ea2c17b
Share code
CyrusNajmabadi 99a961e
Update
CyrusNajmabadi 8591250
Add comment
CyrusNajmabadi fdf7348
Rename
CyrusNajmabadi 5b4a533
Merge remote-tracking branch 'upstream/main-vs-deps' into cloudCache
CyrusNajmabadi de49957
Remove state objects.
CyrusNajmabadi 25b1b25
mef work
CyrusNajmabadi f359dca
Proper mef
CyrusNajmabadi f85e575
Go back to sqlite
CyrusNajmabadi 96054a5
Merge branch 'cloudCache' of https://github.com/CyrusNajmabadi/roslyn…
CyrusNajmabadi 8f3bf8b
Merge remote-tracking branch 'upstream/main-vs-deps' into cloudCache
CyrusNajmabadi ebf3245
Rename
CyrusNajmabadi d0c7474
Clarity
CyrusNajmabadi ea2576b
Share code
CyrusNajmabadi 3afb7ce
move all logic up to VS layer
CyrusNajmabadi 5487582
Delete
CyrusNajmabadi 09735a0
remote side
CyrusNajmabadi 8163b52
Tweak
CyrusNajmabadi ec1bfdf
Share more code
CyrusNajmabadi 1ff6721
perf code
CyrusNajmabadi 1491a76
Merge remote-tracking branch 'upstream/main-vs-deps' into cloudCache
CyrusNajmabadi acbaa47
Fix
CyrusNajmabadi 89e1b51
Fix
CyrusNajmabadi File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
49 changes: 49 additions & 0 deletions
49
src/Tools/IdeCoreBenchmarks/CloudCache/IdeCoreBenchmarksCloudCacheServiceProvider.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
// Licensed to the .NET Foundation under one or more agreements. | ||
// The .NET Foundation licenses this file to you under the MIT license. | ||
// See the LICENSE file in the project root for more information. | ||
|
||
using System; | ||
using System.Composition; | ||
using Microsoft.CodeAnalysis.Host.Mef; | ||
using Microsoft.CodeAnalysis.Storage; | ||
using Microsoft.CodeAnalysis.UnitTests.WorkspaceServices.Mocks; | ||
using Microsoft.VisualStudio.Cache; | ||
using Microsoft.VisualStudio.LanguageServices.Storage; | ||
using Microsoft.VisualStudio.RpcContracts.Caching; | ||
|
||
namespace CloudCache | ||
{ | ||
[ExportWorkspaceService(typeof(IRoslynCloudCacheServiceProvider), ServiceLayer.Host), Shared] | ||
internal class IdeCoreBenchmarksCloudCacheServiceProvider : AbstractMockRoslynCloudCacheServiceProvider | ||
{ | ||
[ImportingConstructor] | ||
[Obsolete(MefConstruction.ImportingConstructorMessage, error: true)] | ||
public IdeCoreBenchmarksCloudCacheServiceProvider() | ||
: base(@"C:\github\roslyn") | ||
{ | ||
Console.WriteLine($"Instantiated {nameof(IdeCoreBenchmarksCloudCacheServiceProvider)}"); | ||
} | ||
|
||
protected override IRoslynCloudCacheService CreateService(CacheService cacheService) | ||
=> new IdeCoreBenchmarksCloudCacheService(cacheService); | ||
|
||
private class IdeCoreBenchmarksCloudCacheService : AbstractCloudCacheService | ||
{ | ||
public IdeCoreBenchmarksCloudCacheService(ICacheService cacheService) : base(cacheService) | ||
{ | ||
} | ||
|
||
public override void Dispose() | ||
{ | ||
if (this.CacheService is IAsyncDisposable asyncDisposable) | ||
{ | ||
asyncDisposable.DisposeAsync().AsTask().Wait(); | ||
} | ||
else if (this.CacheService is IDisposable disposable) | ||
{ | ||
disposable.Dispose(); | ||
} | ||
} | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
benchmark code is effectively a way for me to quickly test things liek FindRefs and NavTo on different DBs, comparing the results. they're not really productino code, and more a scratch pad to answer questions quickly on a real world codebase.