64BitEL

64BitEL

Postby MartinMan » Thu Jun 11, 2009 4:06 pm

Stan,
I wonder if you couldn't compile EL in 64bit Java for those of us with 64bit OS's. I need the extra memory and speed for some of the things I like to try.
I cannot get 32bit EL to use more than 1gig memory and on the Mega Millions that won't give statistics on quads or run the optimizers. And that is only using the first 5 numbers and not the bonus num. That is 3,819,816 tickets. On a 6/49 there is no chance.
Since you have the code, would it take to much work to recompile?
I can fudge and run EL under 64bit Java with the scripts, but it is Not stable that way. However, it will let me use more memory and is faster. A stable compilation that is faster still would be very welcome.

Regards,
Martin
MartinMan
 
Posts: 141
Joined: Mon Oct 02, 2006 9:38 pm

Postby stan » Fri Jun 12, 2009 9:08 pm

the java code is compiled into .jar archive but there's no 64bit version. it's the same bytecode for all platforms and all processor architectures.
even when running on 64bit system the maximum size of an array the java can allocate is 2147483647 items
i can compile the .exe file which just a simple wrapper starting java runtime but you won't get any performance bonus that way either.
i can calculate the stats for quads for 6/49 lottery and expert lotto consumes just 35mb of ram.

and what do you mean expert lotto isn't stable when running from the scripts?
Expert Lotto Team
User avatar
stan
Site Admin
 
Posts: 6338
Joined: Thu Sep 23, 2004 1:01 pm

Postby MartinMan » Fri Jun 12, 2009 9:30 pm

Hello Stan,

I have the 64bit SDK from Sun and it uses a different version that compiles to 64bit code. At least that is what I thought. I know that EL is faster when I run it under Java.exe or Javaw.exe from the versions installed with 64bit SDK.
What I mean when using the scripts is that I can take the Java.exe and Javaw.exe from the 64bit version and copy them to EL directory and use the scripts to start EL. That allows me to use more memory than 1gig, and EL runs faster. It will also show statistics for quads that will NOT run on my machine without giving an out of memory error. I am using a 2.33 ghtz, quad line intel with 8gig of memory. And I get that error message. And if I use the scripts with the 32bit Java.exe, I cannot get Jave to make its Virtual Machine with more than 1gig of memory. I also use Vista 64 OS, with SP2.
Could that be a problem? However when I use the scripts with the 64bit versions of Java.exe, EL is not stable. It will freeze sometimes when I use a compound filter, or when I stop a slow filter that is taking more time than I have to complete.

Regards,
Martin
MartinMan
 
Posts: 141
Joined: Mon Oct 02, 2006 9:38 pm

Postby Viking » Sat Jun 13, 2009 3:45 pm

[quote=MartinMan]
Hello Stan,

I have the 64bit SDK from Sun and it uses a different version that compiles to 64bit code. At least that is what I thought. I know that EL is faster when I run it under Java.exe or Javaw.exe from the versions installed with 64bit SDK.
What I mean when using the scripts is that I can take the Java.exe and Javaw.exe from the 64bit version and copy them to EL directory and use the scripts to start EL. That allows me to use more memory than 1gig, and EL runs faster. It will also show statistics for quads that will NOT run on my machine without giving an out of memory error. I am using a 2.33 ghtz, quad line intel with 8gig of memory. And I get that error message. And if I use the scripts with the 32bit Java.exe, I cannot get Jave to make its Virtual Machine with more than 1gig of memory. I also use Vista 64 OS, with SP2.
Could that be a problem? However when I use the scripts with the 64bit versions of Java.exe, EL is not stable. It will freeze sometimes when I use a compound filter, or when I stop a slow filter that is taking more time than I have to complete.

Regards,
Martin
[/quote]

Hi MartinMan,

I do not know which Java version you use, but according to Sun there has been added support to Vista with SP2 in version 6 update 14. Read more about it here http://java.sun.com/javase/6/webnotes/6u14.html. Download it here http://java.sun.com/javase/downloads/index.jsp.

Viking
User avatar
Viking
 
Posts: 181
Joined: Wed Mar 04, 2009 12:40 pm

Postby MartinMan » Sat Jun 13, 2009 6:00 pm

Hello Viking,

Thank you for the info, I am using version 6 update 14.

Regards,
Martin
MartinMan
 
Posts: 141
Joined: Mon Oct 02, 2006 9:38 pm

Postby stan » Sat Jun 13, 2009 9:45 pm

[quote=MartinMan:1244835048]
Hello Stan,

I have the 64bit SDK from Sun and it uses a different version that compiles to 64bit code. At least that is what I thought. I know that EL is faster when I run it under Java.exe or Javaw.exe from the versions installed with 64bit SDK.
[/quote]
no, the compiled code is the same for 32-bit and 64-bit versions. there might be some minor issues because expert lotto is compiled using java 1.4 which is quite old and may not support some byte code optimizations. i'll upload a new build tomorrow compiled with the latest jdk so that you can check how it performs.

What I mean when using the scripts is that I can take the Java.exe and Javaw.exe from the 64bit version and copy them to EL directory and use the scripts to start EL.

you don't need to copy those files. just modify the startup scripts to include the full path to your 64-bit java.exe

That allows me to use more memory than 1gig, and EL runs faster. It will also show statistics for quads that will NOT run on my machine without giving an out of memory error. I am using a 2.33 ghtz, quad line intel with 8gig of memory. And I get that error message. And if I use the scripts with the 32bit Java.exe, I cannot get Jave to make its Virtual Machine with more than 1gig of memory. I also use Vista 64 OS, with SP2.
Could that be a problem? However when I use the scripts with the 64bit versions of Java.exe, EL is not stable. It will freeze sometimes when I use a compound filter, or when I stop a slow filter that is taking more time than I have to complete.

i wasn't aware there were such problems. i'll look at it.
btw, try adding an extra switch to increase memory for expert lotto when running 32-bit java:
-Xmx=2048m -Xms=2048m
it will force java.exe to allocate 2gb of ram when the process starts
Expert Lotto Team
User avatar
stan
Site Admin
 
Posts: 6338
Joined: Thu Sep 23, 2004 1:01 pm

Postby MartinMan » Sat Jun 13, 2009 11:10 pm

Hello Stan,

Thank you for your reply. I believe the new compile will help alot. According to the Sun site, the new 1.6.0_14 is supposed to work better with Vista SP2.

I used the double switch, that you mentioned, and java still could Not make its virtual machine with more that 1024M. But I did try the double switch with 1024M and EL did calculate the stats I talked about before.

But when I went back to starting EL normally, without the script, it would Not calculate stats without bogging down so slow that I tried to cancel the operation. At that point EL froze and would not shut down. I had to go through Task Manager to shut EL down.

To make sure, I again started EL with the 1024 script and it ran and calculated stats again.

While running, TM showed that Javaw.exe*32 was using 221,728K of memory and about 50% of the processor. That was with the script.

Without the script it was using about 199,200K and the same 50% processor, but going so slow it almost stopped.

Regards,
Martin
MartinMan
 
Posts: 141
Joined: Mon Oct 02, 2006 9:38 pm

Postby stan » Wed Jun 17, 2009 5:48 pm

i've tried 64-bit java with the default expert lotto build and it's working fine. i was able to allocate 2gb of ram (using the script) and i didn't notice any instability, the program is running smoothly.
when running 64-bit version of java don't copy any java executable to expert lotto folder. instead modify the script to include the full path to your 64bit java, e.g.

[m]C:libjdk1.6.0_13_x64injava.exe -Xmx2048M -Xms2048M -cp .;lib/jh.jar;lib/expertlotto.jar;lib com.expertlotto.Lotto[/m]


when using the default 32bit java there's the limit of 1gb of ram that can be allocated. but it should be enough to calculate all stats and run all filters.
Expert Lotto Team
User avatar
stan
Site Admin
 
Posts: 6338
Joined: Thu Sep 23, 2004 1:01 pm

Postby MartinMan » Wed Jun 17, 2009 6:35 pm

Hello Stan,
I have tried your suggestion about the 64bit cmd file. So far it seems to be OK.
I still think there is something wrong with the standard 32bit EL startup.
It I start EL without using the cmd script with 1gig, it will not filter quads without slowing to a crawl or just freezing up.
However it will filter if I use the cmd script to start EL with the 32bit Java.
It also filters if I use the 64 bit Java and the cmd script.
This problem started either:
1-When I upgraded Vista64 to SP2
or
2- When you upgraded EL to work automatically with 1gig of ram.
or
3-When I upgraded Java to update 14, which was supposed to work better with Vista64 SP2.

For now I will use one of the methods that do work, and not start EL without using the cmd script.

Thank you for your response,
Martin
MartinMan
 
Posts: 141
Joined: Mon Oct 02, 2006 9:38 pm

Postby stan » Thu Jun 18, 2009 10:46 am

the problem is that expertlotto.exe picks one of java runtimes installed on your machine but i don't know the algorithm it uses for searching for available java runtime. it might be picking your 64bit java and starting it from 32bit process which might be the issue here.
Expert Lotto Team
User avatar
stan
Site Admin
 
Posts: 6338
Joined: Thu Sep 23, 2004 1:01 pm

Postby MartinMan » Thu Jun 18, 2009 4:24 pm

Hello Stan,
It can't be that because Vista64 installs 64bit programs to Program Files.
It installs 32bit programs to Program Files (x86).
I believe that Windows looks for Java for 32bit programs in the x86 directory.
The reason is that when I first installed Java64bit SDK I did not install 32bit Java at the same time. I thought that because the SDK installs the Java runtime at the same time that I would not need the 32bit version. However my browsers and EL etc. would Not start. I got dialogs saying that Java could not be found. When I installed 32bit Java in Program Files (x86) everything started working.
So Windows has to be telling the programs where to look.
This is especially true since I have EL installed in C: and not under Program Files (x86). And EL would not start when I didn't have 32bit Java installed.

Regards,
Martin
MartinMan
 
Posts: 141
Joined: Mon Oct 02, 2006 9:38 pm

Postby stan » Sun Jun 21, 2009 11:42 am

ok, thanks for the info
Expert Lotto Team
User avatar
stan
Site Admin
 
Posts: 6338
Joined: Thu Sep 23, 2004 1:01 pm


Return to Comments, suggestions, features requests

Who is online

Users browsing this forum: No registered users and 7 guests