Sergio Pedri
d4bfbdbf81
Major performance/memory boost in RegisterAll
...
~7x performance boost, ~2.6x memory reduction
2020-07-18 23:01:54 +02:00
Sergio Pedri
cf3499d620
Added ObservableObject.Set IEqualityComparer<T> overloads
2020-07-18 14:06:48 +02:00
Sergio Pedri
01cdae0322
Minor code style tweaks
2020-07-18 13:25:39 +02:00
Sergio Pedri
5b4d923f32
Fixed a bug in MessengerExtensions.RegisterAll
2020-07-18 13:06:13 +02:00
Sergio Pedri
8b0239e951
Renamed some IMessenger APIs/extensions for clarity
2020-07-17 16:40:03 +02:00
Sergio Pedri
928d1cfcbb
Minor code refactoring
2020-07-17 02:04:04 +02:00
Sergio Pedri
e375e49a93
Fixed a bug in Messenger.Reset
2020-07-17 02:01:58 +02:00
Sergio Pedri
657ce590f9
Reduced thread contention in Messenger.Unregister<TToken>
2020-07-16 20:21:34 +02:00
Sergio Pedri
88dafd4887
Code refactoring, moved attributes to root
2020-07-16 02:21:11 +02:00
Sergio Pedri
7066b220d0
Renamed ViewModelBase to ObservableRecipient
2020-07-16 01:56:24 +02:00
Sergio Pedri
46c984d575
Fixed missing file rename for 2f3079d
2020-07-16 01:49:32 +02:00
Sergio Pedri
cf834933cd
Added more comments to DictionarySlim<,> type
2020-07-16 01:47:38 +02:00
Sergio Pedri
2f3079d50b
Renamed some APIs for consistency
2020-07-15 19:51:43 +02:00
Sergio Pedri
b122c6ea96
~90% speed improvements (!), reduced memory usage
2020-07-15 04:10:06 +02:00
Sergio Pedri
06c038bc7c
Further codegen improvements (especially on 32 bit)
2020-07-14 20:22:26 +02:00
Sergio Pedri
9180b133c9
Added explicit #if for using statement for clarity
2020-07-14 20:04:42 +02:00
Sergio Pedri
27d58aff58
Removed movsxd from Count/Djb2 extensions
2020-07-14 20:01:25 +02:00
Sergio Pedri
4df1cb9b63
Added missing timestamp reset
2020-07-14 13:30:45 +02:00
Sergio Pedri
45fc6ada1a
Removed sealed modifier, this was a bad idea
2020-07-13 23:25:13 +02:00
Sergio Pedri
9babfcd89d
Removed outdated remarks (before refactor to map)
2020-07-13 20:30:31 +02:00
Sergio Pedri
12906c3451
Added sealed modifier to DictionarySlim<TKey, TValue>
2020-07-13 20:20:51 +02:00
Sergio Pedri
48fafd5323
~40% speedup in StringPool, removed system call
...
Replaced Stopwatch.GetTimestamp() with a local counter to remove the overhead of the system call, which was pretty high
2020-07-13 17:10:59 +02:00
Sergio Pedri
79adbd3f3b
Updated StringPool with new priority-map backend
2020-07-13 16:26:35 +02:00
Sergio Pedri
9238cae42a
Removed movsxd from ParallelHelper iterators
2020-07-12 19:22:41 +02:00
Sergio Pedri
fa648a961a
Removed movsxd from DangerousGetReferenceAt APIs
2020-07-12 19:21:20 +02:00
Sergio Pedri
77602fbc2c
Refactored Task result extensions/converter
2020-07-11 12:51:21 +02:00
Sergio Pedri
1133d89f2c
Added more Ioc tests
2020-07-11 11:59:37 +02:00
Sergio Pedri
05cdb7cec8
Added more tests for faulty monitored tasks
2020-07-11 01:31:08 +02:00
Sergio Pedri
290cffe7af
Tweaked visibility of some test members
2020-07-11 01:15:02 +02:00
Sergio Pedri
6862c28800
Improved Test_ObservableObject_Events
...
(Also checks for events order now)
2020-07-11 01:02:08 +02:00
Sergio Pedri
41cba948fe
Improved remarks for SetAndNotifyOnCompletion
2020-07-11 00:57:31 +02:00
Sergio Pedri
20a1e181dd
Merge pull request #25 from Sergio0694/feature/extended-commands
...
Feature/extended commands
2020-07-11 00:45:40 +02:00
Sergio Pedri
c8a6653e53
Added unit tests for AsyncRelayCommand, bug fixes
2020-07-11 00:41:28 +02:00
Sergio Pedri
df004385d0
Fixed initial IsRunning property update
2020-07-11 00:29:55 +02:00
Sergio Pedri
b33739115c
Fixed an XML doc
2020-07-11 00:26:52 +02:00
Sergio Pedri
5422faa660
More code refactoring to SetAndNotifyOnCompletion
2020-07-11 00:25:55 +02:00
Sergio Pedri
2b84771d1f
Added SetAndNotifyOnCompletion overload with callback
2020-07-11 00:11:45 +02:00
Sergio Pedri
32dab841b4
Added IsRunning property to async commands
2020-07-10 23:58:15 +02:00
Sergio Pedri
fe55561d38
Initial code refactoring to SetAndNotifyOnCompletion
2020-07-10 23:58:03 +02:00
Alexandre Zollinger Chohfi
d1edd6fa87
Merge branch 'master' into master
2020-07-10 14:21:34 -07:00
Sergio Pedri
0bcac42cbd
Improved tests for ISubscriber<T> APIs
2020-07-10 20:11:09 +02:00
Sergio Pedri
7e5ffc6585
Improved remarks for ViewModeBase.OnDeactivated
2020-07-10 19:51:35 +02:00
Sergio Pedri
7bb0dbf70b
Added more comments to SetAndNotifyOnCompletion
2020-07-10 19:25:53 +02:00
Sergio Pedri
0b7ee9a538
Added ViewModelBase test for message unregistration
2020-07-10 19:11:46 +02:00
Sergio Pedri
269265ecc8
Added new unit tests, minor bug fixes
2020-07-10 16:08:09 +02:00
Sergio Pedri
a704cafb98
Minor code refactoring
2020-07-10 14:40:47 +02:00
Sergio Pedri
44f61b4882
Added ISubscriber<TMessage> interface, new extensions
2020-07-10 14:40:29 +02:00
Sergio Pedri
6dd7b5a5ba
Reverted hashcode computation to just SIMD djb2
2020-07-09 18:46:16 +02:00
Sergio Pedri
39f3339195
Restructured buckets/entries setup with target size
2020-07-09 18:45:12 +02:00
Sergio Pedri
5b03ff27ce
Improved StringPool distribution
...
We're now using the content hashcode to calculate both the bucket index and the entry index, so that even if a given StringPool instance is used just with a series of strings with a very small range of different lengths, all the available buckets will still be used
2020-07-08 16:12:18 +02:00