FastMM4-AVX icon indicating copy to clipboard operation
FastMM4-AVX copied to clipboard

Recommendations for improvement

Open status-kvo opened this issue 2 years ago • 3 comments

You have a cool revision of the library and I always use it with pleasure even in XE11, but one function is missing, this is the procedure Move.

У вас классная доработка библиотеки и я с удовольствием всегда пользуюсь ее даже в ХЕ11, но не хватает одной функции это процедуры Move

Example

FastMM4.pas

interface
...
type
  TMoveProc = procedure(const ASource; var ADest; ACount: NativeInt);

var
  gMove: TMoveProc;

implementation
...
procedure InitializeBlockTypeSizes;
 ...
  gMove := SmallBlockTypes[LInd].UpsizeMoveProcedure;
...
end;
...
procedure RunInitializationCode;
begin
  gMove := System.Move;
  ...
end;

end.
Example1
  gMove(Source^, Target^, Size);

status-kvo avatar Aug 11 '22 11:08 status-kvo

Thank you! I will add this code replace the system Move to the faster one.

maximmasiutin avatar Aug 11 '22 13:08 maximmasiutin

CompareMem it wouldn't be bad either. it wouldn't be bad either. With AVX/AVX2,AVX512 technology

status-kvo avatar Aug 11 '22 13:08 status-kvo

I wanted to add the code to replace System move in FastMM4-AVX, but found out that FastMM4 has only fixed-size move routines, with a minimal granularity of 8 bytes, or I missed something?

maximmasiutin avatar Mar 29 '24 22:03 maximmasiutin