I just gone through the below url for the memory management,
http://wiki.visual-prolog.com/index.php ... Management
I don't see any limitation on that.
Can you please advice me on the following,
What is the built in max size for "run stack memory", "heap memory" and "system memory" ?
Is there any way user can setup memory size on the project level setting ?
Please give me some light with the comparison of Old Prolog Version (Prolog 5.2)
Thanks in advance
- Thomas Linder Puls
- VIP Member
- Posts: 1424
- Joined: 28 Feb 2000 0:01
I'm not intended to change any of these...
I need more clarity on these limitation..
As we see, in Old Prolog version(5.2), we used to define the "GStack size" and "Stack size" which will help us to increase the size of the IDB.
I'm not sure, how that been handled on 7.4 version.
Thanks in advance..
I need more clarity on these limitation..
As we see, in Old Prolog version(5.2), we used to define the "GStack size" and "Stack size" which will help us to increase the size of the IDB.
I'm not sure, how that been handled on 7.4 version.
How can we change this ? (what is the limitation for IDB) - howmuch size we can store internally ?The only thing that can be changed is the actual size of the runtime stack.
Can you please give me some clarity on this - How that will use the Windows memory.. ?Visual Prolog does not set any limits on any of these thigs; all limits comes from Windows.
Thanks in advance..
- Thomas Linder Puls
- VIP Member
- Posts: 1424
- Joined: 28 Feb 2000 0:01
There is nothing called a G-Stack anymore, hence no size to control.
I believe you use Visual Prolog for a DLL which is called by a C/C++-program. If that is the case it is the C/C++ program that decides the stack size.
I am not sure what you mean by IDB???
A 32 bit Windows program can all in all occupy 2GB Memory. These 2GB will contain all the code, all the static data, all the run stack(s). The remaining part of the memory can be used as heap. Windows will use part of the heap, and certain Windows operations will create additional threads which will have stacks, etc.
So the main thing you can do to increase the heap size (I assume the "IDB" uses the heap) is to minimize the other things. Decreasing the main stack is a possibility, however it is 1MB out of 2GB, so it will not really matter much. You can also write a smaller program, but again I doubt that it will really matter.
Switching to 64 bit would on the other hand give a huge increase. The story is the same, except that a 64 bit program can occupy 8 TB (1 TB = 1024*1024 GB). It will of course only truly be in memory if it runs on a computer with more than 8 TB RAM.
I believe you use Visual Prolog for a DLL which is called by a C/C++-program. If that is the case it is the C/C++ program that decides the stack size.
I am not sure what you mean by IDB???
A 32 bit Windows program can all in all occupy 2GB Memory. These 2GB will contain all the code, all the static data, all the run stack(s). The remaining part of the memory can be used as heap. Windows will use part of the heap, and certain Windows operations will create additional threads which will have stacks, etc.
So the main thing you can do to increase the heap size (I assume the "IDB" uses the heap) is to minimize the other things. Decreasing the main stack is a possibility, however it is 1MB out of 2GB, so it will not really matter much. You can also write a smaller program, but again I doubt that it will really matter.
Switching to 64 bit would on the other hand give a huge increase. The story is the same, except that a 64 bit program can occupy 8 TB (1 TB = 1024*1024 GB). It will of course only truly be in memory if it runs on a computer with more than 8 TB RAM.
Regards Thomas Linder Puls
PDC
PDC
-
- VIP Member
- Posts: 106
- Joined: 6 Mar 2000 0:01
IDB - internal database.
in 5.x and earlier version of PDC Prolog, a developer could adjust heap/stack values to enable IDBs to hold more data.
Myself, I used to use the external database but the location would be 'in_memory' if I had a lot of data but needed speed. I would only use the IDB for small rapid look ups or 'globals'
in 5.x and earlier version of PDC Prolog, a developer could adjust heap/stack values to enable IDBs to hold more data.
Myself, I used to use the external database but the location would be 'in_memory' if I had a lot of data but needed speed. I would only use the IDB for small rapid look ups or 'globals'
AI Rules!
P.
P.