Commit Graph

530 Commits

Author SHA1 Message Date
dd13098022 [*] Transition to dynamic tick-based scheduling
[*] Re-do AuAsync reference counting
[+] IWorkItem::SetSchedSteadyTimeNsAbs
[*] Irrelevant IIOProcessor sources are now discarded in evaluating whether or not a thread-pool in special running mode should shutdown
[*] Transition WorkItems to only use steady time
[*] Refactor AsyncConfig
[*] Drop default SMT spin time from hundreds of cycles to ~32 so that we can sit nicely at the bottom of task manager unless the application calls for extra responsivity
2023-08-09 03:21:14 +01:00
424cccd00a [+] IAsyncTransaction::HasCompleted 2023-08-09 00:14:36 +01:00
df6f29bf38 [+] IAsyncTransaction::SetBaseOffset 2023-08-09 00:02:35 +01:00
aaeca44fb0 [+] ByteBuffer::WriteTagged<T>
[+] ByteBuffer::ReadTagged<T>
2023-08-08 00:08:54 +01:00
1cd56ab161 [*] Minor AuByteBuffer TypeReadWrite "improvements"
(more like, i cant be bothered to finish this in a clean way and we need a minimum viable product)
2023-08-07 23:15:47 +01:00
8bede175e3 [*] error C2344: align(24): alignment must be power of two 2023-07-30 11:04:45 +01:00
86afd39dc3 [*] Runtime config padding 2023-07-30 10:00:18 +01:00
ceb5b2961e [+] FALLBACK_WAKEONADDRESS_SUPPORTS_NONEXACT_MATCHING
[+] ThreadingConfig::bPreferEmulatedWakeOnAddress
2023-07-30 09:52:41 +01:00
5e94be7487 [*] ConditionEx::WaitForSignalRelativeNanoseconds -> WaitForSignalNS 2023-07-29 09:52:59 +01:00
9ce4e08d36 [+] IFileStream::GetHandle() 2023-07-29 09:13:43 +01:00
9f78555693 [*] Updated AuProcess mapping API to use file handles 2023-07-29 09:02:55 +01:00
4ad2a54ccf [+] IPCPipe::GetCurrentSharedDuplexHandles() 2023-07-29 09:02:05 +01:00
7e2aa2de3d [+] AuIO::IIOHandle 2023-07-29 08:02:47 +01:00
73548b00d7 [*] Refactor: added missing opt reference in member 2023-07-28 08:10:08 +01:00
ff0fbed560 [*] whatever 2023-07-27 23:00:11 +01:00
3d9ad0350e [*] now brotli maps uWindowBits to BROTLI_PARAM_LGWIN
[+] CompressInfo::uQuality
2023-07-27 22:55:28 +01:00
3db5554673 [+] brotli now respects CompressInfo::uCompressionLevel
[+] brotli now respects CompressInfo::uBlockSize
[*] refactored CompressInfo::uLz4BlockSize -> CompressInfo::uBlockSize
[*] zstd decompressor now respects user arguments
[*] zstd compressor now respects user arguments
[*] brotli decompressor now respects user arguments
[*] brotli compressor now respects user arguments
2023-07-27 20:45:49 +01:00
6e035195f7 [+] Aurora::IO::Protocol::IProtocolLimitable 2023-07-27 17:26:23 +01:00
2b777f1e38 [+] IIOProcessor::ConfigureNoDeferredTicks (hack for Qt modals) 2023-07-27 16:31:47 +01:00
b411c710d1 [+] IConditionVariable::WaitForSignalNS 2023-07-25 15:59:04 +01:00
66cfbb5351 [+] FlexibleConditionVariable::WaitForSignalRelativeNanoseconds(AuUInt64 uRelativeNanoseconds)
[+] FlexibleConditionVariable::WaitForSignalRelativeNanoseconds(Threading::IWaitable *pWaitable, AuUInt64 uRelativeNanoseconds)
[+] FlexibleConditionVariable::WaitForSignalRelativeNanoseconds(AuUInt64 uRelativeNanoseconds)
[*] Refactor FlexibleConditionVariable
2023-07-25 12:38:49 +01:00
dab6e9caee [*] Refactor: FeaturefulCondition -> FlexibleConditionVariable
[+] SOO for FlexibleConditionVariable
2023-07-25 12:27:08 +01:00
593dc16897 [*] Minor Include/* changes (1x typo, 1x default change)
Closes #38
2023-07-16 16:52:53 +01:00
8a4fc0d9c3 [*] Amend runtime config typo: Prefer*
[-] Redundant AuTime header (ExtendedTimer.hpp)
2023-07-13 19:50:18 +01:00
6e59770eee [-] Theory crafted future AuProcesses API from yesteryear 2023-07-13 06:29:41 +01:00
66b948697b [+] Missing x509 members
[*] Added POSIX-like rng fd close on deinit
[*] Added verbose arg checks for unix env vars
2023-07-10 20:58:12 +01:00
bdec6ff8ba [+] AuProcess::EnvironmentGetAll
[+] AuProcess::EnvironmentGetOne
[+] AuProcess::EnvironmentSetOne
[+] AuProcess::EnvironmentRemoveOne
[+] AuProcess::EnvironmentRemoveMany
[+] AuProcess::EnvironmentSetMany
[+] AuProcess::GetProcessStartupTimeNS
[+] AuProcess::GetProcessStartupTimeMS
[*] Note WakeOnAddress on all platforms
[*] Updated READMEs
2023-07-10 17:00:42 +01:00
e43145dc8e [*] This is seriously stupid but these legacy sewage classes can be upgraded for the hell of it 2023-07-09 21:46:15 +01:00
3e13bd17f7 [*] Clean up Runtime config
[*] Refactor DirectoryLogger
2023-07-09 21:21:49 +01:00
75b71275e7 [*] Made past and present NT condvar optional spin steps configurable via the runtime config 2023-07-09 20:52:31 +01:00
9a27f3d44b [*] Lower idle CPU usage (idle utilization regression) 2023-07-09 18:49:15 +01:00
03dbfeefe1 [*] Enhance Windows 7 scheduling resolution 2023-07-09 12:56:35 +01:00
83fad7c538 [+] AuTime::Clock<T>::GetCurrentTimeNS();
[+] AuTime::Clock<T>::GetFrequency();
where T =
[+] AuTime::ClockWall
[+] AuTime::ClockSteady
[+] AuTime::ClockProcessTime
[+] AuTime::ClockProcessKernelTime
[+] AuTime::ClockProcessUserTime
[+] AuTime::ClockThreadTime
[+] AuTime::ClockThreadKernelTime
[+] AuTime::ClockThreadUserTime
2023-07-08 17:28:24 +01:00
a1b07c634a [+] AuVoidTask
(https://devblogs.microsoft.com/oldnewthing/20190116-00/?p=100715)
[*] Amend coroutines Awaitable to prevent use after free
2023-07-08 15:07:40 +01:00
69a5bb8061 [*] Remove redundant sync primitive from AuFuture
[*] Amend AwaitableVoid
2023-07-08 13:08:04 +01:00
730d338c17 [*] Coroutine interopability: failed AuFutures are now indicated via AuOptionalEx returned by co_await 2023-07-08 12:53:31 +01:00
edcc9efac3 [*] Optimize AuFuture memory usage 2023-07-08 12:39:02 +01:00
fae92993be [+] Coroutine interopability 2023-07-08 12:31:49 +01:00
4d1201a4c1 [+] EStreamForward::eNewConsoleWindow
[*] NT: Improve the selection of flags used when spawning processes
[*] NT: Caught regression in NTs FS/generic transaction IsSignaled
2023-07-06 13:44:32 +01:00
00cb256f06 [+] Reintroduce LZMA support after dropping support for the compression algorithm during the initial rewrite 2023-07-05 13:56:08 +01:00
3563ece47b [*] Improve non-fatal exception handling 2023-06-28 04:48:25 +01:00
f37ae43045 [*] Rushed Time.hpp typos 2023-06-22 19:34:47 +01:00
47746de462 [+] Process and threaded user and kernel time keeping clocks 2023-06-19 17:48:24 +01:00
2d6dca4e21 [+] 32bit SOO sizes for sync primitives under x86_32/MSVC
[*] Optimize the write-biased reentrant read-write lock down to 88 bytes on MSVC x64
2023-06-17 17:08:58 +01:00
25b933aafa [*] Fixed regression in RWLock size without sacrificing on features
(TODO: I would like to WoA optimize it for modern oses at some point)
2023-06-16 00:02:42 +01:00
74b813f051 [*] Bloat RWLock by adding a separate yield queue for writers (we were already writer biased)
This will help us reduce cpu usage and latency at the cost of 32 bytes.

We are now hopelessly oversized: 136 bytes for a single primitive. 104 was barely passble.
2023-06-15 20:54:19 +01:00
28201db2d7 [+] Improve WoA on Windows 8+
[+] AuThreading::WaitOnAddressSteady
2023-06-15 20:44:27 +01:00
573031cd96 [*] idiot-proofing memory ownership 2023-06-11 15:49:39 +01:00
98c1235554 [+] Futureproofing: AuByteBuffer flag 2023-06-10 21:50:00 +01:00
4a584ce73a [+] Future proof IProtocolInterceptorEx with an optional pParent in the only Aurora Interface methods last argument 2023-06-10 20:33:19 +01:00