-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
runtime error on second programm instance #6
Comments
Thanks! Now the BrainMM is unstable, a development will be continued this autumn (may be winter) |
Sure! Nice to hear! We are using it now for a 2D OpenGL game which is in development sine ~2012 and got serious performance boosts from it. |
Great to hear it :) |
Buffer: array[0..SizeOf(BRAINMM_MARKER) + 8] of WideChar; |
Wow! it's already reported... |
Hi! Unfortunately, the library development was temporarily suspended. |
Can't wait, it seems you have made awesome job and a couple bugs stops people from using it. :) |
We are still using it and we also can't wait for updates! :) |
Hello, |
Hello, guys! I want to say thank you for your anticipation and patience! However, at the moment there are more priority tasks. The next possible release date is winter. Or if someone succeeds in attracting donations/investments of $5000-$10000 - the development will continue immediately. Thank you again for your attention to the project! |
Well... I guess so this thread can be now closed, forever ;-) and please try https://github.com/maximmasiutin/FastMM4-AVX |
Hello Mozulyov, Another solution is to make it shareware which you definitely make money there especially if it's better than FastMM. I would glady donate 20$ if the service bug is fixed so i can use it. |
jaclas, Thank you for the good link. But FastMM4-AVX still works through locks. This means that on multithreaded applications, BrainMM or even WindowsMM will be much faster. Here is a project-benchmark, you can check the performance yourself. Advantage of the library in accelerated memory re-allocation operations. But in fact re-allocation of memory is a rare operation. In algorithms where re-allocation is required, the concept of "capacity" is used, when the memory is periodically allocated more than necessary to fill it in the future. Such an approach, for example, is used in containers But the link is really useful. Many thanks! |
I did "advertise" the project and your needs on Google+ Delphi Developers, i hope i turns well and you can continue the development. |
chmichael, oh, cool, thanks! |
Dmitrij, do you have an email I can contact you on, please? |
vintagedave, |
What???
Delphi 10.1:
|
Ptr not initialized before loop.
…On Wed, Jun 13, 2018, 05:00 kazalex, ***@***.***> wrote:
But since Delphi 10.1 (Berlin) re-allocation of dynamic arrays is only
through the creation of new ones.
What???
program Project1;
{$APPTYPE CONSOLE}
{$R *.res}
uses
System.SysUtils;
var
bts : TBytes;
i : Integer;
ptr : Pointer;
begin
for i := 1 to 10000000 do
begin
setlength(bts, i);
if ptr <> pointer(bts) then // real new array
begin
writeln(i);
ptr := pointer(bts);
end;
end;
readln;
end.
Delphi 10.1:
1
5
53
149
341
725
1493
29477
95877
215989
327653
786405
1769445
3997669
9043941
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#6 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AFaHHL4PXwAowRkuSVeGgJ-1zmprqwfYks5t8PDbgaJpZM4OkxL0>
.
|
Global variables always initialized by zero/nil etc. |
kazalex, Thanks, I was a little wrong. But if you change the type of the variable, you will understand what I mean. var
bts : TArray<TBytes>; |
Dear @d-mozulyov , I just ran the change you proposed under Delphi 10.3 (using a TArray<TBytes>) and the output of the program was:
This agrees with what @kazalex wrote and is conflicting with your statement (or it could have been fixed in 10.3)
|
When starting a second instance of the same program with BrainMM i get a access violation on the line 10523 (master).
It seems that
MapAddress := MapViewOfFile(BrainMMRegisteredHandle, FILE_MAP_READ, 0, 0, 0);
isn't working as expected (line 10470). The fields ofBrainMMRegistered
are all nil.This bug occurs with Debug Win 32 Delphi 10.2 Toyko.
The text was updated successfully, but these errors were encountered: