![]() |
|
دالة FastFillChar - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : دروس دلفي للمبتدئين (https://delphi4arab.net/forum/forumdisplay.php?fid=13) +--- الموضوع : دالة FastFillChar (/showthread.php?tid=5077) |
دالة FastFillChar - SMP3 - 28-03-2013 السلام عليكم ورحمة الله وبركاته
دالة FastFillChar PHP كود : procedure FastFillChar(var X ;Count:integer;Value:Char);assembler;دالة FastFillChar - virtual - 28-03-2013 السلام عليكم يبدو ان Fillchar RTL اسرع كود : [align=left]var
tt : longword;
type
t_rec = record
x,y,z,s : integer;
n,p,q : single;
end;
var
gF_array : array[0..8374238] of t_rec;
begin
tt := GetTickCount();
//FillChar(gF_array,8374238*sizeof(t_rec),char(0));
FastFillZero(gF_array,8374238*sizeof(t_rec));
writeln(GetTickCount()-tt);
readln
end.
[/align]FastFillZero 328ms FillChar 312ms دالة FastFillChar - SMP3 - 28-03-2013 virtual كتب :يبدو ان Fillchar RTL اسرعأما أني فكانت عندي النتيجة مختلفة !!! FastFillChar 250ms FillChar 281ms يمكنك الاطلاع على التصوير الفلاشي .. ![]() الدوال السابقة التي وضعتها كلها مجربة على Code 2 Duo & XE3 .. لم أجربها على أجهزة أخرى دالة FastFillChar - virtual - 29-03-2013 استعملت freePascal 2.6 على معالج core duo اذا كنت تريد شىء اسرع , هناك دالة في kernel32 اسمها RtlZeroMemory كود : procedure ZeroMemory(Mem: Pointer; Count: LongWord); stdcall; external 'kernel32.dll' name 'RtlZeroMemory';دالة FastFillChar - SMP3 - 29-03-2013 virtual كتب :اذا كنت تريد شىء اسرع , هناك دالة في kernel32 اسمها rtlzeromemoryأنا على علم بهذه الدالة .. لكن لا يمكنني استخدامها :d لان الهدف من المشروع كتابة خوارزميات من الصفر بلغة الأسمبلي و المشروع مفتوح المصدر .. يعني مالفائدة من استخدام دالة جاهزة في مشاريع مثل هذه !! دالة FastFillChar - virtual - 29-03-2013 عفوا , لم اكن اعلم انه مشروع , حسبتك تبحث عن شىء اسرع على كل حال انا مستعد للمشاركة , فقط ملاحظة : ممكن تكتب comment امام كل سطر بالاسمبلي توضح فيه العملية الحالية , ففط لاختصار الوقت للذي يريد ان يضيف شىء ما دالة FastFillChar - S.FATEH - 29-03-2013 بالنسبة للذين يملكون القدرة على كتابة دوال سريعة يمكنكم المشاركة في تحديات FastCode كود : http://fastcode.sourceforge.net/شرفونا
دالة FastFillChar - SMP3 - 29-03-2013 virtual كتب :على كل حال انا مستعد للمشاركة ,رائع جدا .. تفقد الرسائل الخاصة .. لقد أرسلت لك المشروع !! حاليا أعتقد اني كتبت 30 دالة .. S.FATEH كتب :نعم لقد سبق واطلعت على المشروع .. لكن حاليا المشروغ في سبات + المشروع لا يدعم ال Unicode أو x64 دالة FastFillChar - S.FATEH - 30-03-2013 smp3 كتب :المشروع لا يدعم ال unicode أو x64الله اعلم لكن لاعتقد ذلك المشروع مضمن في النسخ الحديثة من دلفي على الاقل بشكل جزئي |