View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002548 | NoesisGUI | C# SDK | public | 2023-03-29 17:11 | 2023-03-29 17:38 |
Reporter | sfernandez | Assigned To | sfernandez | ||
Priority | normal | Severity | feature | Reproducibility | have not tried |
Status | assigned | Resolution | open | ||
Product Version | 3.2.0 | ||||
Summary | 0002548: Memory management improvements | ||||
Description | In order to reduce memory allocations there are a few things we can improve in our C# implementation and API. * String UTF8 -> Unicode conversion: -- use pre-allocated buffer whenever possible to avoid creating new memory on each conversion -- study the possibility to cache conversion for some or all strings * Event args: -- can't use structs because inheritance won't be possible then -- study the possibility to pool the allocation of this objects -- https://www.infoworld.com/article/3221392/how-to-use-the-object-pool-design-pattern-in-c.html -- https://learn.microsoft.com/en-us/dotnet/api/system.buffers.arraypool-1?view=net-7.0 * DependencyPropertyChangedEventArgs OldValue/NewValue: * DependencyObject GetValue/SetValue: -- avoid boxing by providing a <T> version -- should be used in all our interactivity classes * IValueConverter Box/Unbox: -- study the possibility of using Unsafe.Unbox<T> + pool of boxed values -- https://learn.microsoft.com/en-us/dotnet/api/system.runtime.compilerservices.unsafe.unbox?view=net-5.0 | ||||
Tags | No tags attached. | ||||
Platform | Any | ||||
Date Modified | Username | Field | Change |
---|---|---|---|
2023-03-29 17:11 | sfernandez | New Issue | |
2023-03-29 17:11 | sfernandez | Assigned To | => sfernandez |
2023-03-29 17:11 | sfernandez | Status | new => assigned |
2023-03-29 17:38 | jsantos | Severity | minor => feature |