Omnimaga

Calculator Community => Other Calc-Related Projects and Ideas => Topic started by: Builderboy on September 01, 2010, 02:54:09 pm

Title: Auto Optimization Program
Post by: Builderboy on September 01, 2010, 02:54:09 pm
So i was inspired by SourceCoders' broken Basic Optimizer function, and i thought about making one on the calculator, so you could optimize your Basic Programs without having to transfer them to the computer for any utility.  I quickly wrote up some code in Axe, and the optimizations have started :)  Currently it has support for:

Ending Parenthasis
Ending Quotes
Devlar
Powers of 10
Squared and Cubed optimizations

And there is plans and psedocode for

Implied multiplication
=0 into Not(
Negative/Positive cancellation

any other ideas of simple find and replace optimizations that i could put into the optimizer?  Obviously i cant do some of the complicated stuff, but there are some good simple replacements that can make a big difference.  And note that it ignores Strings completely :) Strings Should not be changed ^^.  And there also might be an option on whether to erase empty lines or not.  Some people like to keep them for readability during development, and then maybe want to take them out later.
Title: Re: Auto Optimization Program
Post by: Deep Toaster on September 01, 2010, 02:56:07 pm
Ooh, good idea.

Another one: .01 or /100 into sub(.

EDIT: And if it's possible, a logic simplifier.

EDIT2: 403 Forbidden
Title: Re: Auto Optimization Program
Post by: Builderboy on September 01, 2010, 03:00:04 pm
what do you mean sub(.? And what do you mean by a logic simplifier? ;D
Title: Re: Auto Optimization Program
Post by: Deep Toaster on September 01, 2010, 03:03:05 pm
Oh, just sub(, as in like how sub(1 returns 0.01. The period was just for grammatical purposes ;D

And by a logic simplifier, I mean the kind that automatically turns A and B or not(A into A or B. They're not very hard to code. The hard part is getting them to recognize A and B in a statement.

EDIT: 404 Not Found
Title: Re: Auto Optimization Program
Post by: Builderboy on September 01, 2010, 03:05:46 pm
Wow i didnt know about that XD Sounds good :)

And i'll have to see if i can get the logic simplifier to work, it might be tricky but i think i *might* be able to get it working.  i will have to do some research
Title: Re: Auto Optimization Program
Post by: Deep Toaster on September 01, 2010, 03:13:52 pm
And i'll have to see if i can get the logic simplifier to work, it might be tricky but i think i *might* be able to get it working.  i will have to do some research

I think HarrierFalcon or Weregoose had a really good one somewhere. Can't find it now, but here's a copy I have (edited a bit):

Code: (TI-BASIC) [Select]
:ClrHome
:Input "LOGIC IN
 A & B: ",Str1
:DelVar C
:ClrHome
:Disp "    A","
  0 1","  +---",
" 0!","B !"," 1!

:For(A,0,1
:For(B,0,1
:C+not(expr(
Str1)))10^(2A+B→C

:Output(2B+4,2A+
4,not(not(expr(S
tr1
:End
:End
:Pause sub("0  
not(A or BB   B
or not(AA and no
t(Bnot(B  A or B
 1   A and B not
(A xor BB and no
t(Anot(A  A   A
or not(BA xor B
not(A and B",1+6
4fPart(Ans/16),4


EDIT: This one's a homescreen program that takes as input a logic statement in A and B, but it can probably be changed to do it in a program.

EDIT2: The program's also compressed by that idea of dividing a binary number as a decimal number by a hex humber (what's that called, anyway?), so it might be kinda hard to read, but basically, a sequence of TRUE and FALSE values is stored directly as a decimal number (such as 1011), then divided by 16 (or 64 in this case, since each entry in the string is 4 tokens long). The fractional part multiplied by 16 is always different, so the weird order's based on that.

EDIT3: Sorry if this is confusing. I'm really, really bad at explaining things.
Title: Re: Auto Optimization Program
Post by: Builderboy on September 01, 2010, 05:59:16 pm
Thats really cool!  Hmm it might be very tricky to implement tho, since it would have to do some pretty weird calculations to determine A and B, and if 1 expression is equivalent to another.  And it only works if there are 2 expressions present in the logic line.

For now i think im going to stick to simple find and replace, then go into more detailed optimizations.  Maybe things like reordering expressions so that expressions with more parenthesis are at the end of the line.  Like optimizing

Dim(L1)+1

to

1+Dim(L1
Title: Re: Auto Optimization Program
Post by: meishe91 on September 01, 2010, 06:23:25 pm
Another good one would be to auto-expand calculations if they are factored (ex. 5(B+3)+A-(5+W)=5B+15+A-5-W=5B+A-W+10).

But this is a cool idea :) Will really help some people.

@Deep Thought
I've noticed lately that when you're posting code that there appears an empty code box and then the code itself below the box. Is there any reason for that or am I the only one experiencing it?
Title: Re: Auto Optimization Program
Post by: Deep Toaster on September 01, 2010, 06:24:32 pm
Another good one would be to auto-expand calculations if they are factored (ex. 5(B+3)+A-(5+W)=5B+15+A-5-W=5B+A-W+10).

But this is a cool idea :) Will really help some people.

@Deep Thought
I've noticed lately that when you're posting code that there appears an empty code box and then the code itself below the box. Is there any reason for that or am I the only one experiencing it?

Yeah, it's on purpose since I occasionally need to use something like 10^(, which wouldn't show up well in code tags.
Title: Re: Auto Optimization Program
Post by: meishe91 on September 01, 2010, 06:26:34 pm
Ah ok. The empty code box just looks weird so I thought it might have been some kind of error happening.
Title: Re: Auto Optimization Program
Post by: Builderboy on September 01, 2010, 06:33:42 pm
Another good one would be to auto-expand calculations if they are factored (ex. 5(B+3)+A-(5+W)=5B+15+A-5-W=5B+A-W+10).

Thats also a good idea, i will have to see if its doable.  Sometimes it wont actually result in less tokens tho, so i will have to remember that.  Also i would need to write a number to token converter, working with all these tokens is tough business :P
Title: Re: Auto Optimization Program
Post by: meishe91 on September 01, 2010, 06:36:23 pm
It doesn't? I thought it always did, at least for me it always has. What's a situation where it doesn't?

Don't you already have one sorta since you were working on that on-calculator program editor?
Title: Re: Auto Optimization Program
Post by: Deep Toaster on September 01, 2010, 06:36:29 pm
Another good one would be to auto-expand calculations if they are factored (ex. 5(B+3)+A-(5+W)=5B+15+A-5-W=5B+A-W+10).

Thats also a good idea, i will have to see if its doable.  Sometimes it wont actually result in less tokens tho, so i will have to remember that.  Also i would need to write a number to token converter, working with all these tokens is tough business :P

For the num>token thing, I think you can first display it on the screen (with >Dec), then get the tokens from TextShadow (I think it's L5).
Title: Re: Auto Optimization Program
Post by: Builderboy on September 01, 2010, 06:42:32 pm
Something like 99(99+A would distribute into 9801+99A which is 1 more token :( And thats a really clever idea with the Screen trick!  Im going to go put that in my subroutine :)
Title: Re: Auto Optimization Program
Post by: Deep Toaster on September 01, 2010, 06:45:26 pm
Yeah, auto-expansion might not be a good idea, since most factored expressions are shorter than their expanded forms :P

Something like 99(99+A would distribute into 9801+99A which is 1 more token :( And thats a really clever idea with the Screen trick!  Im going to go put that in my subroutine :)

Remember to change the screen immediately afterward, or else the user's gonna get confused by random numbers on the screen :D
Title: Re: Auto Optimization Program
Post by: meishe91 on September 01, 2010, 06:46:07 pm
Ah, ya. Hmmm, what you could do is maybe have it some how check how many tokens are used and then after and put which ever is more efficient or something. I don't know, but good luck :D

@Deep Thought
It's actually probably about a 50-50 chance that the shorter one will be smaller or larger, I think anyways. I mean until Builder just gave that example I had never seen one that wasn't smaller.
Title: Re: Auto Optimization Program
Post by: Deep Toaster on September 01, 2010, 06:47:33 pm
Yep, good luck. And another optimization idea: removing =0 from If statements (doesn't always work, though, so it should count the number of parentheses as well).
Title: Re: Auto Optimization Program
Post by: Builderboy on September 01, 2010, 06:51:37 pm
you mean =1?  I already have plans for optimizing =0 into not(, but like you said, i will need some expressions detection.  As for expansion, it doesn't seem to be *to* beneficial on average, so im going to leave it out for now.  But i might put it in later.  Also im doing the easy stuff first :P
Title: Re: Auto Optimization Program
Post by: Deep Toaster on September 01, 2010, 06:53:47 pm
you mean =1?  I already have plans for optimizing =0 into not(, but like you said, i will need some expressions detection.  As for expansion, it doesn't seem to be *to* beneficial on average, so im going to leave it out for now.  But i might put it in later.  Also im doing the easy stuff first :P

Whoops, typo.

Also, remember to delete ending braces and brackets as well.
Title: Re: Auto Optimization Program
Post by: Builderboy on September 01, 2010, 06:54:54 pm
ah yes, good catch :)
Title: Re: Auto Optimization Program
Post by: Deep Toaster on September 01, 2010, 06:59:14 pm
Does your program recognize closed strings already? Like for "Hello, worl"+sub("abcde",4,1) would it take off the last parenthesis? Just in case :)
Title: Re: Auto Optimization Program
Post by: guy6020665 on September 01, 2010, 07:01:04 pm
This is pretty cool!  :) Will it possibly be able to auto optimize Axe programs too?
Title: Re: Auto Optimization Program
Post by: Deep Toaster on September 01, 2010, 07:02:48 pm
Axe sources don't need to be optimized like BASIC programs, since all that matters is the executable anyway, and optimizing the source to make the executable smaller would probably be extremely hard.
Title: Re: Auto Optimization Program
Post by: KermMartian on September 01, 2010, 07:03:57 pm
So i was inspired by SourceCoders' broken Basic Optimizer function, and i thought about making one on the calculator, so you could optimize your Basic Programs without having to transfer them to the computer for any utility.  I quickly wrote up some code in Axe, and the optimizations have started :)  Currently it has support for:

Ending Parenthasis
Ending Quotes
Devlar

And there is plans and psedocode for

Implied multiplication
=0 into Not(
Powers of 10
Negative/Positive cancellation

any other ideas of simple find and replace optimizations that i could put into the optimizer?  Obviously i cant do some of the complicated stuff, but there are some good simple replacements that can make a big difference.  And note that it ignores Strings completely :) Strings Should not be changed ^^.  And there also might be an option on whether to erase empty lines or not.  Some people like to keep them for readability during development, and then maybe want to take them out later.
Might I request that you crosspost this to Cemetech, both so we can discuss this idea, and moreover that we can talk about you helping me improve SourceCoder's optimizations? I can't fix it if people don't tell me to my face that they're unhappy about a feature.
Title: Re: Auto Optimization Program
Post by: Builderboy on September 01, 2010, 07:22:37 pm
I thought that was hiding under the carpet though :P thats why i was asking about bug reports.  Either way, i didnt start this because im dissatisfied with Sourcecoder, i just was inspired by it.  Also where should i put my post, in projects or Sourcecoder?

And yeah Deep Thought, it recognizes that the last token is not part of a string and so it removes it :)

There are some simple axe optimizations that could be done, but they are few, i'd have to work with axe a lot more until i am as comfortable in it as i am in Ti Basic.
Title: Re: Auto Optimization Program
Post by: KermMartian on September 01, 2010, 07:26:18 pm
I thought that was hiding under the carpet though :P thats why i was asking about bug reports.  Either way, i didnt start this because im dissatisfied with Sourcecoder, i just was inspired by it.  Also where should i put my post, in projects or Sourcecoder?

And yeah Deep Thought, it recognizes that the last token is not part of a string and so it removes it :)

There are some simple axe optimizations that could be done, but they are few, i'd have to work with axe a lot more until i am as comfortable in it as i am in Ti Basic.
Start with Projects, then we can extend it to SourceCoder as necessary. :)
Title: Re: Auto Optimization Program
Post by: Builderboy on September 01, 2010, 07:31:18 pm
Alright, its done :)

I also just had an idea for an obscure optimization:  Output(#,#,"# can be optimized to Output(#,#,# :) But only for single digit cumbers and only for Output, not Disp.  Its small and obscure but the more the merrier ;D
Title: Re: Auto Optimization Program
Post by: Deep Toaster on September 01, 2010, 07:33:37 pm
"cumbers"? lol

And Text( too. And if you really wanted to, you could simplify obvious ones like *3*5 :D

But what about those times when people purposefully bloat their code to make it run faster?
Title: Re: Auto Optimization Program
Post by: Builderboy on September 01, 2010, 07:41:00 pm
hmmm i dont think any of these specific optimizations will result in slower code.  Those types of optimizations are very in depth and hard to detect so i dont think i will have to worry about them.  If it does become a problem i can have it as an option :)
Title: Re: Auto Optimization Program
Post by: Builderboy on September 04, 2010, 04:51:25 pm
Alright ladies and gents, this is the moment you've all been waiting for!  I am releasing a beta of the Optimizer App :) Feel free to try it on all your programs and test them out to make sure i didnt break them XD Im also including the source because it has a really handy program browser built into it and that was very difficult to make.  Props to Buckey for all the help he gave me with the Vat entries! ^^

These are the codes it optimizes in this version:
Ending brackets, braces, and parentheses
Powers of 10 and other large constants
Squared and Cubed
Eliminating Empty lines
Delvar
Negative/Positive canceling

And here is a screenie of it in Action!
Title: Re: Auto Optimization Program
Post by: meishe91 on September 04, 2010, 06:55:04 pm
Wow that is awesome! :) Great work. I'll try to test it out if I can. What made you want to make it as an app? Size or just because it seemed appropriate?
Title: Re: Auto Optimization Program
Post by: Happybobjr on September 04, 2010, 07:13:50 pm
got to go save a few thousand bytes :D

*happybobjr thinks you should get noticed for your work.  maybe ask in a readme for credit on optimization.  because this is so great for basic...

note:   maybe you can have it replace words in a string.  such as,  "and" with "and" but this time from 2nd math right 1
or If... or... else.. and so on
Title: Re: Auto Optimization Program
Post by: meishe91 on September 04, 2010, 07:23:24 pm
That one could be tricky to do since the word "and" and the command and_ are different in length and such. It would all depend on how it is being used and where and such.
Title: Re: Auto Optimization Program
Post by: Happybobjr on September 04, 2010, 07:52:08 pm
If you don't mind,  I signed your program so it can go on a real calc instead of an emu.
Title: Re: Auto Optimization Program
Post by: DJ Omnimaga on September 04, 2010, 07:55:43 pm
WOW this is just awesome! I didn't thought someone would actually ever make that possible on-calc. Great job Builderboy! I wonder what other kind of optimizations could be achieved on-calc with such program if more were to be implemented. I should run Illusiat 13 through this ;D

Does it do Axe too?

EDIT: Test with an Illusiat 13 prog. 43 bytes optimized :P. I haven't checked if it worked 100% properly, though.
Title: Re: Auto Optimization Program
Post by: matthias1992 on September 04, 2010, 08:03:10 pm
Cool project! I just skimmed over but were those fancy boolean functions mentioned? I mean like;

Code: [Select]
If K=24
Then
X+1->X
End
If K=26
Then
X-1->x
end
which could be:
Code: [Select]
X+(K=24)-(K=26->X

Second, not to be rude or anything but isn't celticIII better suited for this? I mean with the "linereplace" command and the "hextobin" command and all, surely it makes recognising tokens easy...

Axe on the other hand is far faster which is a big plus on large progams (which they tend to be or the couldn't be much optimized)
Title: Re: Auto Optimization Program
Post by: DJ Omnimaga on September 04, 2010, 08:08:02 pm
Yeah the issue is that with Celtic III it would be much slower, due to the BASIC commands used alongside with Celtic. As much as you don't like Axe much, Axe and z80 ASM are much more faster for optimizing large programs. I would like to see someone come up with a similar tool in Celtic III or Doors, though. However I fear it will take minutes to optimize a massive program like in my screenshot.
Title: Re: Auto Optimization Program
Post by: Builderboy on September 04, 2010, 08:28:51 pm
Yeah, not only would Celtic3 be a *lot* slower, but it is actualy not any easier to read tokens.  It's very easy to read tokens in axe, since most all tokens are just a single number.  So not only would it be faster in axe, but you also wouldn't need two or more programs to carry around.   

And thanks happybobjr for the signed app, I forgot to sign the app once again XD I made it an app just because it seemed appropriate for this type of program.  And so that it would be completely safe if I messed up when I'm working with the vat :P

as for the Boolean optimizations, it hasn't been implemented yet, but a primitive version is being planned :)

And that's an awesome optimization on Illustat! :D although it might be mostly linebreaks if you use them to organize your code.
Title: Re: Auto Optimization Program
Post by: meishe91 on September 04, 2010, 08:28:56 pm
Well from what this supports now I am happy to see I am an efficient programmer :D I think there was only a total of 6 bytes that I could save total and those were programs I made a long time ago before my time at Omnimaga :P
Title: Re: Auto Optimization Program
Post by: Deep Toaster on September 04, 2010, 08:30:15 pm
Wow, it works! That is an awesome program!

If you don't mind,  I signed your program so it can go on a real calc instead of an emu.


An idea to fix that: Optimize strings like that only if the line starts with Disp ". That way, there's no way tokens can be counted.
Title: Re: Auto Optimization Program
Post by: Builderboy on September 04, 2010, 08:40:44 pm
Well it automatically detects which tokens are inside of a String and which ones are not, so there is no problem there.  And yeah, that does sound like a good idea for the next version :) So on track for the next version we have:

=0 into Not()
Implied multiplication
String character optimization
Title: Re: Auto Optimization Program
Post by: meishe91 on September 04, 2010, 08:45:08 pm
Does not( always work? I don't know why I'm asking since I use that every time, I just thought I saw someone say there are times when you do need ...=0 or 0=.... I may just be misremembering though.

By the way, what do you mean by Sting Character Optimization?
Title: Re: Auto Optimization Program
Post by: nemo on September 04, 2010, 08:52:13 pm
how about conditional optimization? i know it's a step, but something like this:
Code: [Select]
If A=3 or A=6 or A=9 or A=2394
into..
If max(A={3,6,9,2394

it's probably harder to code because you change the actual code quite a bit. also, there might be some times where the former is faster than checking against a list
Title: Re: Auto Optimization Program
Post by: Builderboy on September 04, 2010, 08:55:58 pm
The Not() trick only works if the =0 is at the end of the expression, that way the parenthesis can be taken off the end, hence the optimization.  I *believe* that in all times where the =0 is at the end, the not() optimization should work, but i will have to run some more tests.

As for the String Character Optimization, i just mean optimizing the lowercase letters like " and " into the single token " and ".  Which yields a 7 byte optimization :O

EDIT: And the conditional optimization is a good idea, it may be very specific however.  As in it may not always catch the optimization.
Title: Re: Auto Optimization Program
Post by: meishe91 on September 04, 2010, 09:00:24 pm
Oh ya. But can't A=0 and 0=A both be optimized to not(A?

Ah ok. Makes sense. Just have to be careful with that one so it searches for "and" plus a space instead of just "and."

Either way, good luck on future progress :)
Title: Re: Auto Optimization Program
Post by: Builderboy on September 04, 2010, 09:12:06 pm
Right, which is why it will have to be a tricky program to write.  I shall have to see how well it works out.  Although it is only a 1 byte optimization.... hmm we shall see
Title: Re: Auto Optimization Program
Post by: DJ Omnimaga on September 04, 2010, 09:27:44 pm
Yeah, not only would Celtic3 be a *lot* slower, but it is actualy not any easier to read tokens.  It's very easy to read tokens in axe, since most all tokens are just a single number.  So not only would it be faster in axe, but you also wouldn't need two or more programs to carry around.  

And thanks happybobjr for the signed app, I forgot to sign the app once again XD I made it an app just because it seemed appropriate for this type of program.  And so that it would be completely safe if I messed up when I'm working with the vat :P

as for the Boolean optimizations, it hasn't been implemented yet, but a primitive version is being planned :)

And that's an awesome optimization on Illustat! :D although it might be mostly linebreaks if you use them to organize your code.
Well I may be good at designing games, but I am not that great at optimizing. From early 2005 to 2009, I hardly coded new games, or just coded small stuff. As a result, most tricks I knew were rudimentary. I optimized I13 more than any other game I made, though.

EDIT: If I compare with another program, on Illusiat 6/Nemesiat launch program, which is roughly 5 KB, I got 51 bytes of optimizations :P
Title: Re: Auto Optimization Program
Post by: Quigibo on September 04, 2010, 09:54:36 pm
This is really cool!  Did you use any assembly code?  Its seems like a very useful project.
Title: Re: Auto Optimization Program
Post by: matthias1992 on September 04, 2010, 10:01:35 pm
Ti connect gives me a transfer error because of a error in the app's signature.

USB Communication Error: Flash application has a bad signature
{8C08002D}
Title: Re: Auto Optimization Program
Post by: meishe91 on September 04, 2010, 10:02:38 pm
This is really cool!  Did you use any assembly code?  Its seems like a very useful project.

Looking at the source code in SourceCoder it doesn't appear so, but I could be wrong. Just skimmed it.
Title: Re: Auto Optimization Program
Post by: DJ Omnimaga on September 04, 2010, 10:17:25 pm
Ti connect gives me a transfer error because of a error in the app's signature.

USB Communication Error: Flash application has a bad signature
{8C08002D}

did you try the version posted by happybobjr on an earlier post? He signed that one: http://www.omnimaga.org/index.php?action=dlattach;topic=4300.0;attach=3121
Title: Re: Auto Optimization Program
Post by: Builderboy on September 04, 2010, 10:37:16 pm
Yeah it's pure axe :) and yeah I forgot to sign it again x.x the one posted by happybobjr should work
Title: Re: Auto Optimization Program
Post by: Happybobjr on September 04, 2010, 11:07:23 pm
I love being able to do something useful :)
Title: Re: Auto Optimization Program
Post by: Deep Toaster on September 07, 2010, 06:52:57 pm
From the screenshot, it seems like the progress bar is moving really slowly. Seeing how much faster Axe got (and the pixel-change examples DJ made here (http://ourl.ca/6861/114165)), it might be faster if you updated it less often.
Title: Re: Auto Optimization Program
Post by: meishe91 on September 07, 2010, 06:57:24 pm
It's not the display that is moving slowly. It's because the file DJ ran the app through was so large (over 14KB if I saw correctly). The time it takes to finish all depends on how big the file is.
Title: Re: Auto Optimization Program
Post by: Builderboy on September 07, 2010, 07:12:04 pm
Well its not lightning fast optimizer :P I did increase the interval and it was noticeably faster however, so that is a definite plus :)

EDIT: Ninja'd, and meishe makes a good point :P It took 14 seconds to optimize that file, so it runs at about 1000 tokens per second, which is pretty repecable if i do say so myself :P It will get faster in the next update however, as i am implementing short circuit logic.
Title: Re: Auto Optimization Program
Post by: Happybobjr on September 07, 2010, 07:23:02 pm
sorry, but how much longer untill the next update?
I am just excited for this as I m for axe.

*  Would it be too hard to ignore the :: at the beginning of a MOs game? I noticed it was fine for ::DESCRIPTION but w/o the description, it removes a :.
Title: Re: Auto Optimization Program
Post by: Builderboy on September 07, 2010, 07:24:34 pm
Ah good idea, i also have to get it to ignore Axe programs (for now! >:D) or else it might 'optimize' them so that they didnt work XD

As for a next update, hopefully sometime this week :) I shouldn't be too busy
Title: Re: Auto Optimization Program
Post by: meishe91 on September 07, 2010, 07:25:52 pm
Well for an optimizer I think any speed would be acceptable considering how useful they are :) (I just mean if I had a program that was really large and didn't want to go though and find this stuff myself I wouldn't mind waiting a little bit.)

1000 bytes per second? That's not bad at all :) What is short circuit logic?
Title: Re: Auto Optimization Program
Post by: Happybobjr on September 07, 2010, 07:28:25 pm
Ah good idea, i also have to get it to ignore Axe programs (for now! >:D) or else it might 'optimize' them so that they didnt work XD

As for a next update, hopefully sometime this week :) I shouldn't be too busy

hummm. i haven't tried to do an axe source code... I was afraid of it doing something wrong. I was getting some errors,  i deleted all doors app variables and reset ram though, and everything was fixed.  (The errors were popping up with doors' basic editor.)

Ninja'd on something... I'll soon see

Edit: Note: Random: Hi:  have you ever noticed we have devil  >:D smilies, yet we don't have any of Christ to ward off the demons...
Title: Re: Auto Optimization Program
Post by: Deep Toaster on September 07, 2010, 07:29:08 pm
Oh, wow, forgot about how big the game was. Well, that is fast :)
Title: Re: Auto Optimization Program
Post by: meishe91 on September 07, 2010, 07:32:30 pm
Ah good idea, i also have to get it to ignore Axe programs (for now! >:D) or else it might 'optimize' them so that they didnt work XD

As for a next update, hopefully sometime this week :) I shouldn't be too busy

hummm. i haven't tried to do an axe source code... I was afraid of it doing something wrong. I was getting some errors,  i deleted all doors app variables and reset ram though, and everything was fixed.  (The errors were popping up with doors' basic editor.)

Ninja'd on something... I'll soon see

Edit: Note: Random: Hi:  have you ever noticed we have devil  >:D smilies, yet we don't have any of Christ to ward off the demons...

Well this isn't meant for Axe programs. That's why I think he is gonna make it skip them.
Title: Re: Auto Optimization Program
Post by: Builderboy on September 07, 2010, 07:34:37 pm
Short circuit logic is something i am going to post about in the Axe topic shortly, but basically its this, say you had an if statement:

Code: [Select]
If A and B
and if A happens to equal 0, the program doesn't even evaluate B, because it knows that there is no way for the statement to be true.  This is *faster* if A is false a lot of the time, because that means that B is not even evaluated most of the time.  So for my program, every optimization has a trigger token that needs to be present for the optimization to happen.  First, it checks to see if the current token is that token, if its not, it just moves on and doesnt do any more math.  If it IS however, thats when you start checking for more tokens around it.  You can do this for OR too: 

Code: [Select]
If A or B
if A happens to be true, the program doesn't even evaluate B again, because it knows that no matter what, the expression cannot be false.

Now, i dont know if Axe does something similar to this, but there are ways to Program it in, for example.

Code: [Select]
If A and B
Code
End

becomes

Code: [Select]
If A
If B
Code
End
End

and

Code: [Select]
If A or B
Code
End

becomes

Code: [Select]
!If A
Goto L
!If B
Goto L
Code
L

(And i might not skip axe programs in the future ;) )
Title: Re: Auto Optimization Program
Post by: Deep Toaster on September 07, 2010, 07:36:47 pm
Ah good idea, i also have to get it to ignore Axe programs (for now! >:D) or else it might 'optimize' them so that they didnt work XD

And optimizing it in a way that creates an error the compiler doesn't catch would be very, very bad :)
Title: Re: Auto Optimization Program
Post by: Builderboy on September 07, 2010, 07:39:30 pm
Very Very Very bad.  Although i currently cant think of any optimizations that would break it so badly :P Right now i think any problems would probably just be syntax problems.  And it would erase all the empty lines, which actually doesn't to anything to the axe programs at all XD
Title: Re: Auto Optimization Program
Post by: Deep Toaster on September 07, 2010, 07:41:20 pm
Well, remember order of operations is different in Axe :)
Title: Re: Auto Optimization Program
Post by: Builderboy on September 07, 2010, 07:43:39 pm
Ah yes thats true, hmmm.  Well nothing currently messes inter-expression, but in the future it will definetaly be breaking-esk.  Also, if i ever do implement an Axe optimizer, it wont be able to tell you how many bytes it optimized unless if had a byte table for all the expressions and their equivalents. o.O
Title: Re: Auto Optimization Program
Post by: Happybobjr on September 07, 2010, 07:45:55 pm
Well, remember order of operations is different in Axe :)

the main reason i didn't try it

* going to find the biggest basic games in ticalc.org to see size of optimizations.

*Ninja'd on something
Title: Re: Auto Optimization Program
Post by: meishe91 on September 07, 2010, 07:47:47 pm
Ah ok. So basically it is just when you are putting the variable that is most likely to be true or false, depending what you are doing, as the first variable? I never thought about that, that could be handy :)
Title: Re: Auto Optimization Program
Post by: Deep Toaster on September 07, 2010, 07:49:36 pm
Ah ok. So basically it is just when you are putting the variable that is most likely to be true or false, depending what you are doing, as the first variable? I never thought about that, that could be handy :)

Wow, that's a great idea! Thanks!
Title: Re: Auto Optimization Program
Post by: Builderboy on September 07, 2010, 07:50:16 pm
I know java uses it and its really really useful for checking lists.  Because that way you wont get an error for going out of bounds!

If I>=0 And L1(I)=44

If I is less than Zero (throws an error in java) the second part wont be evaluated and so there will be no error :] makes me feel warm and fuzzy inside ^^
Title: Re: Auto Optimization Program
Post by: Deep Toaster on September 07, 2010, 08:01:05 pm
If I is less than Zero (throws an error in java) the second part wont be evaluated and so there will be no error :] makes me feel warm and fuzzy inside ^^

Oh yeah, I noticed that. Then I switched to TI-BASIC and had to add another If statement :P
Title: Re: Auto Optimization Program
Post by: DJ Omnimaga on September 07, 2010, 08:35:49 pm
Edit: Note: Random: Hi:  have you ever noticed we have devil  >:D smilies, yet we don't have any of Christ to ward off the demons...
We use nethams over here instead.

Also keep up the good work on this Builderboy. I wonder how hard Axe support would be to add? Also are you gonna make your optimizer detect if a For loop has no closing parhentesises it gets closed if it contains a lone if instruction? That TI-OS glitch makes things so slow x.x
Title: Re: Auto Optimization Program
Post by: meishe91 on September 07, 2010, 08:38:30 pm
Well that might be hard to detect since it only affects the speed when the statement is false.
Title: Re: Auto Optimization Program
Post by: Happybobjr on September 07, 2010, 08:48:20 pm
never use axe programs.
think about
If getkey(7)

then it will be If getkey(7
big no no
Title: Re: Auto Optimization Program
Post by: Deep Toaster on September 07, 2010, 10:06:51 pm
Right, that'd be a problem. That and the other commands that need the last parenthesis. And remember implied multiplication doesn't work.
Title: Re: Auto Optimization Program
Post by: Builderboy on September 08, 2010, 06:30:16 pm
So i had a great idea!  Why not use InData() to search for trigger tokens in the program to be optimized?  I tested an 8000 bytes file and it could search through the entire file in less than a second!  This means possibility for lightning fast optimization!
Title: Re: Auto Optimization Program
Post by: guy6020665 on September 08, 2010, 06:32:07 pm
So i had a great idea!  Why not use InData() to search for trigger tokens in the program to be optimized?  I tested an 8000 bytes file and it could search through the entire file in less than a second!  This means possibility for lightning fast optimization!

Wow 8000 bytes in less than a second...thats insane

Edit: By the way, when's an executable coming? I think it seems to work well enough for a release.
Title: Re: Auto Optimization Program
Post by: Builderboy on September 08, 2010, 06:35:44 pm
Hmm i just have to remember that using this method ignores strings, so that when i find a token to optimize, i will have to search backwards in the file to determine if its inside a string or not.  This also makes the loading bar a lot harder to implement since all the time spent searching will be spent in a single command.  Hmmmm i shall see how fast everything is
Title: Re: Auto Optimization Program
Post by: guy6020665 on September 08, 2010, 06:39:58 pm
Ok that's fine but at that speed would there even be need for a loading bar?
Title: Re: Auto Optimization Program
Post by: DJ Omnimaga on September 08, 2010, 06:45:56 pm
Wow that sounds promising, you should try it!
Title: Re: Auto Optimization Program
Post by: Builderboy on September 08, 2010, 06:48:10 pm
Im trying it right now :) And yeah thats a good point XD if it takes more than a few seconds ill just have a loading message, or a small animation
Title: Re: Auto Optimization Program
Post by: Deep Toaster on September 08, 2010, 06:53:29 pm
Wow, that is FAST!

And 8000 KB/s is about twice Axe's speed, so yeah, a loading bar is probably not needed. A loading message should be fine, and personally, I think a percentage counter is a good idea, just so that people optimizing a 20 KB program wouldn't think it froze after 2.5 seconds. Doesn't matter two much, though.

EDIT: Can I have a demo just for a quick test?

EDIT2: Wow, I meant 8 KB/s. If it were 8000, that'd be absolutely amazing for anything Z80 :P
Title: Re: Auto Optimization Program
Post by: DJ Omnimaga on September 08, 2010, 07:03:35 pm
I wonder if your program can manage to optimize stuff such as (A-B)*5->C to 5(A-B->C ?
Title: Re: Auto Optimization Program
Post by: Builderboy on September 08, 2010, 07:05:34 pm
Unfortunately no form of percentage can be calculated D: but i think it will be fast enough :) Currently i have no real working code however so i cant give anything out :P I did document all the optimizations i currently am implementing and they are up to 12 :)

As for the (A-B)*5->C, it currently isn't smart enough to do things like that, and i imagine getting it to the point where it can recognize expressions like that would be crazy hard to do, but if i figure out a way to do it, hells yeah i will :)
Title: Re: Auto Optimization Program
Post by: DJ Omnimaga on September 08, 2010, 07:06:51 pm
Ok, well good luck if you plan to add them ^^
Title: Re: Auto Optimization Program
Post by: Builderboy on September 08, 2010, 07:34:53 pm
Garrg, so there are a lot of sneaky things happening now :P So InData stops as soon as it finds a 0, since thats the definition of the end.  BUT what about 2 byte tokens?  for example Str1 has a 0 as its second byte, so the optimizar treats that as the end of the program.  So now before it parses the program it goes through and changes all the 0's into 60, which is unused in all two byte tokens.  Then when the program is finished, it goes back and changes all the 60's back into 0's. lol

EDIT: Grrr but that means that it would mess up hacked variables.  Hmmm i will have to think about this some more...

EDIT2: Yay got it to work, if it quits and it finds that its not at the end of the file, it scratches its head and turns around and goes back into the search loop ^^
Title: Re: Auto Optimization Program
Post by: meishe91 on September 08, 2010, 08:12:47 pm
Wow, that is really cool about the InData speed :) And glad you got things working right now :D Good luck with the rest of this and can't wait for another demo ;D
Title: Re: Auto Optimization Program
Post by: DJ Omnimaga on September 08, 2010, 09:27:12 pm
Nice that you got it sorted out.
Title: Re: Auto Optimization Program
Post by: Happybobjr on September 08, 2010, 09:49:25 pm
so release date?
sorry, i am just so excited about the prospect of not having to optimize my DrugAdventure3 game that i am about to finish.
I made it just to make everyone mad. (it has over 50 different labels, and tons of goto's
Title: Re: Auto Optimization Program
Post by: patriotsfan on September 08, 2010, 10:16:11 pm
so release date?
sorry, i am just so excited about the prospect of not having to optimize my DrugAdventure3 game that i am about to finish.
I made it just to make everyone mad. (it has over 50 different labels, and tons of goto's
You can always use SourceCoder, you know? ;)
Title: Re: Auto Optimization Program
Post by: DJ Omnimaga on September 08, 2010, 11:34:14 pm
Yeah true. I think he absolutely wants to try Builderboy's program too, though :P
Title: Re: Auto Optimization Program
Post by: Builderboy on September 09, 2010, 01:07:11 am
Sourcecoder produces some incorrect optimizations right now, but there is a demo version of the optimizer a couple pages back, have you tried that one?

EDIT: BLARG my optimizer ran amuk and deleted half my source :( And i didnt notice and went to compile and it backed up the corupted version  :'(
Title: Re: Auto Optimization Program
Post by: DJ Omnimaga on September 09, 2010, 01:54:34 am
This really sucks. I hope you don't give up on the project though, it was really awesome :/

Sorry to hear.
Title: Re: Auto Optimization Program
Post by: Builderboy on September 09, 2010, 01:55:35 am
Its ok, i have rewritten the 500 bytes lost and its now better than ever :D
Title: Re: Auto Optimization Program
Post by: DJ Omnimaga on September 09, 2010, 02:00:25 am
I hope it doesn't happen again, though. I had about 4 RAM clears in a week on Metroid II Evolution near the end of development, because sprite clipping at the top of screen didn't work.
Title: Re: Auto Optimization Program
Post by: Jonius7 on September 09, 2010, 02:12:03 am
did it happen again, you said on omnom that you lost 1000 bytes now. and 500 was half of it
Title: Re: Auto Optimization Program
Post by: DJ Omnimaga on September 09, 2010, 02:21:52 am
Nah he just cross-posted it on the forums.
Title: Re: Auto Optimization Program
Post by: Deep Toaster on September 09, 2010, 08:06:15 pm
Great that it works :)

Maybe as a feature request have a token-based inData(?
Title: Re: Auto Optimization Program
Post by: Happybobjr on September 13, 2010, 10:26:58 pm
so, ummm.... how's this project going?
Is there going to be an update soon?

* there has only been one demo released, right?
Title: Re: Auto Optimization Program
Post by: Builderboy on September 13, 2010, 10:45:58 pm
Yeah so far only one demo.  The current version right now is very buggy, and im starting to wonder if the speed increase is worth the incredibly tricky coding D:
Title: Re: Auto Optimization Program
Post by: DJ Omnimaga on September 13, 2010, 11:30:44 pm
Is the speed increase really signifiant? If not maybe it might be better to not complicate things too much, unless it's incredibly slow otherwise.
Title: Re: Auto Optimization Program
Post by: Jonius7 on September 13, 2010, 11:41:57 pm
remember to backup progress, if it gets extremely complicated then consider about the advantage this will have otherwise, keep trying i think...
Title: Re: Auto Optimization Program
Post by: Happybobjr on September 14, 2010, 07:08:49 am
I don't feel that the first one was slow.
Make sure you keep each revision of your project on your computer.  that way if there is a problem, you can go back
or if someone liked an older build, the could use an older build
Title: Re: Auto Optimization Program
Post by: Happybobjr on September 26, 2010, 05:35:17 pm
*bump*
how's progress going?
Title: Re: Auto Optimization Program
Post by: Deep Toaster on September 26, 2010, 05:51:24 pm
Is the speed increase really signifiant? If not maybe it might be better to not complicate things too much, unless it's incredibly slow otherwise.

IMO, size is more important than speed in this case. After all, it's an optimization program.
Title: Re: Auto Optimization Program
Post by: meishe91 on September 26, 2010, 05:56:04 pm
Ya, I mean it's already doing the work for you so why make a big deal if it take a little bit?
Title: Re: Auto Optimization Program
Post by: Deep Toaster on September 26, 2010, 05:56:54 pm
And even if it does, an extra half-second doesn't matter much ;) So how's this going?
Title: Re: Auto Optimization Program
Post by: Builderboy on September 27, 2010, 01:12:30 am
Slowly, i have decided to revert back to my original design, the newer one was just too unreliable and finicky to mess with.  And all the weird exceptions were making it just as slow as the original anyway
Title: Re: Auto Optimization Program
Post by: DJ Omnimaga on September 27, 2010, 01:56:00 am
Sorry to hear D:

Does it do new optimizations, btw?

I'm glad this is still progressing :)
Title: Re: Auto Optimization Program
Post by: Builderboy on September 27, 2010, 02:07:58 am
A couple small ones, but nothing extreme
Title: Re: Auto Optimization Program
Post by: DJ Omnimaga on September 27, 2010, 02:32:51 am
Ah ok I see. What are you planning next?

Or are you planning to work on Portal X/Serenity more? ;D
Title: Re: Auto Optimization Program
Post by: Builderboy on September 27, 2010, 02:52:16 am
Definetaly work on PortalX some more and do some more Planning for Serenity.  Im also working on a secret non-calc project but ill post about that if it actually gets past planning stages.
Title: Re: Auto Optimization Program
Post by: DJ Omnimaga on September 27, 2010, 02:54:47 am
Cool! Can't wait to see progress and more info about the secret project :D
Title: Re: Auto Optimization Program
Post by: meishe91 on September 27, 2010, 03:43:07 am
Definetaly work on PortalX some more and do some more Planning for Serenity.  Im also working on a secret non-calc project but ill post about that if it actually gets past planning stages.

Is it calculator related or something completely new and straight computer stuff?
Title: Re: Auto Optimization Program
Post by: DJ Omnimaga on September 27, 2010, 03:46:25 am
From what I remember, it is calc related, but I forgot what it was x.x
Title: Re: Auto Optimization Program
Post by: Builderboy on September 27, 2010, 04:02:54 am
Non calc unfortunately, and it had it's inception several days ago, so nobody knows about it :P
Title: Re: Auto Optimization Program
Post by: DJ Omnimaga on September 27, 2010, 04:08:32 am
oh ok. Didn't you have a secret calc project in the works too? I think it was a team project. Not sure anymore.
Title: Re: Auto Optimization Program
Post by: Builderboy on September 27, 2010, 04:10:54 am
Oh yeah me and Eeems had a project we were working on together, but my small knowlge of asm and the large scale ambition of the project kinda killed it :(
Title: Re: Auto Optimization Program
Post by: DJ Omnimaga on September 27, 2010, 04:11:55 am
Oh sorry to hear :(

I hope your other projects won't know the same fate as that project and Castle Storm II.
Title: Re: Auto Optimization Program
Post by: meishe91 on September 27, 2010, 04:14:52 am
What was the project with Eeems?
Title: Re: Auto Optimization Program
Post by: Deep Toaster on October 21, 2010, 11:18:59 am
*blump*

How's this project going?
Title: Re: Auto Optimization Program
Post by: Munchor on October 21, 2010, 11:22:11 am
It looks good, by the title =P
Title: Re: Auto Optimization Program
Post by: Builderboy on October 21, 2010, 03:06:41 pm
Actually i was just working on it :D I have a new version to release for you guys to test out ^^ its in program form this time so it doesn't need signing ^^.  New optimizations include:

Implied multiplication optimization
More parenthesis optimization
If:Then one line optimizations

Also it now recognizes Axe programs and refuses to optimize them, so that is good :) It also still does not try to optimize archived programs, they must be in RAM, although they still show up in the menu for now.  In the future they will be removed ^^
Title: Re: Auto Optimization Program
Post by: Munchor on October 21, 2010, 03:08:20 pm
Actually i was just working on it :D I have a new version to release for you guys to test out ^^ its in program form this time so it doesn't need signing ^^.  New optimizations include:

Implied multiplication optimization
More parenthesis optimization
If:Then one line optimizations

Also it now recognizes Axe programs and refuses to optimize them, so that is good :) It also still does not try to optimize archived programs, they must be in RAM, although they still show up in the menu for now.  In the future they will be removed ^^

Nice :)
Title: Re: Auto Optimization Program
Post by: Deep Toaster on October 21, 2010, 04:41:47 pm
Sounds great! How'd you get it so much smaller than before (seeing as it's now a prgm)?
Title: Re: Auto Optimization Program
Post by: Happybobjr on October 21, 2010, 04:59:55 pm
great!
Title: Re: Auto Optimization Program
Post by: Builderboy on October 21, 2010, 06:43:25 pm
Lol i didn't make it smaller actually, before i just made it an app because it seemed appropriate for the type of program that it is :P Anybody run into any bugs?
Title: Re: Auto Optimization Program
Post by: Happybobjr on October 21, 2010, 07:24:55 pm
uploading right now.
Title: Re: Auto Optimization Program
Post by: Happybobjr on October 21, 2010, 08:08:05 pm
Oh Crap,  Broke my calc...

Bug.. created by my stupidity.

If you chose to compile MENU
Then run the output, AXE
then exit.
When going into your apps,  Everything is Finance... App.

Ram Clear Doesn't fix it.
Garbage collect doesn't fix it.


Uh oh....
Title: Re: Auto Optimization Program
Post by: Deep Toaster on October 21, 2010, 08:09:56 pm
O.o What did your program do? Could you post the code?
Title: Re: Auto Optimization Program
Post by: Happybobjr on October 21, 2010, 08:11:04 pm
no, it was one of the included in the latest update.

http://www.omnimaga.org/index.php?action=dlattach;topic=4300.0;attach=3956

Title: Re: Auto Optimization Program
Post by: guy6020665 on October 21, 2010, 08:18:11 pm
Oh Crap,  Broke my calc...

Bug.. created by my stupidity.

If you chose to compile MENU
Then run the output, AXE
then exit.
When going into your apps,  Everything is Finance... App.

Ram Clear Doesn't fix it.
Garbage collect doesn't fix it.


Uh oh....

Wow weird
Title: Re: Auto Optimization Program
Post by: Builderboy on October 21, 2010, 08:25:30 pm
ugg should have mentioned compiled code is OPTIMIZER and the code to compile is the one with the theta :X Is your calc ok? do any apps show up in the memory menu?
Title: Re: Auto Optimization Program
Post by: Happybobjr on October 21, 2010, 08:38:51 pm
ugg should have mentioned compiled code is OPTIMIZER and the code to compile is the one with the theta :X Is your calc ok? do any apps show up in the memory menu?

Ya my calc seems to be fine other than that...
It's going to get annoying and i don't want to risk bringing my calc down to scratch with all my projects going on right now.

The apps show fine in the memory menu.
Its only in the apps menu its screwed up.

Don't worry, I hold nothing against you. (its probably better for it to happen to me than someone else ;) )
Title: Re: Auto Optimization Program
Post by: DJ Omnimaga on October 21, 2010, 11:29:26 pm
Try sending the stuff you got to your computer or something so you dont lose anything, then do a full mem reset. If that still fails you may have to reinstall the OS.

I am surprised a program could crash the calc this bad when Axe is not even supposed to be able to write to Flash in Axe executables tho...
Title: Re: Auto Optimization Program
Post by: Happybobjr on October 21, 2010, 11:49:31 pm
all it does is change the apps names in the app menu.

they still are what they are (have correct name in memory menu.)
Title: Re: Auto Optimization Program
Post by: DJ Omnimaga on October 21, 2010, 11:51:53 pm
No other problem occurs, right?
Title: Re: Auto Optimization Program
Post by: Deep Toaster on October 22, 2010, 10:39:04 am
Oh, in that case, happybobjr, your VAT probably just got messed up. No Flash stuff :) No idea how to fix it, though.
Title: Re: Auto Optimization Program
Post by: Happybobjr on October 22, 2010, 12:20:07 pm
No other problem occurs, right?

nope, just that ;)
Title: Re: Auto Optimization Program
Post by: DJ Omnimaga on October 22, 2010, 06:24:49 pm
Ah ok. It seems a bit like the VAT screw ups when you use Virtual Calc in Omnicalc then archive a program of the same name in one calc then go in the other calc  and delete it x.x
Title: Re: Auto Optimization Program
Post by: Quigibo on October 22, 2010, 07:03:55 pm
Try removing and then reinserting the backup battery.  If that still doesn't work try to do a garbage collect or defragment because those rebuild the app menu I think.  I had the same problem when I was figuring out how to add apps to the menu after creating them in Axe.  I think Axe uses the rebuild code too so if you try to compile any program as an app in Axe then it should regenerate the table for you.  This is all assuming the problem is what I think it is... but definitely back up stuff first.
Title: Re: Auto Optimization Program
Post by: Happybobjr on October 22, 2010, 07:42:35 pm
ya, but now after reinstalling ti-connect.  Nothing transfers correctly....
Title: Re: Auto Optimization Program
Post by: DJ Omnimaga on October 22, 2010, 08:49:50 pm
Ouch x.x

I am not sure how could a RAM program bricks a calc, though. I think you'll need to wipe the entire memory or reinstall the OS. Then if it still fails, report your calc to BrandonW or something
Title: Re: Auto Optimization Program
Post by: Happybobjr on October 22, 2010, 09:22:19 pm
Ouch x.x

I am not sure how could a RAM program bricks a calc, though. I think you'll need to wipe the entire memory or reinstall the OS. Then if it still fails, report your calc to BrandonW or something

no, ti-connect is what is screwing up, i uninstalled and reinstalled ti-connect and it works again.
I deleted a couple of apps and reinstalled the os and it works again ;).
I should have checked after the deleting of an app so i would know which would fix it... (dumb me)
Title: Re: Auto Optimization Program
Post by: DJ Omnimaga on October 22, 2010, 09:27:25 pm
Oh OK, glad to hear it works. TI-Connect can act weird sometimes, especially with USB/silverlink transfers (I never got much issues over serial link except sometimes when it did not detect my calc)
Title: Re: Auto Optimization Program
Post by: Happybobjr on October 22, 2010, 09:29:38 pm
thats kinda what was happening.

It would detect my calc. but half way through install,  it lost connection it told me...
Title: Re: Auto Optimization Program
Post by: DJ Omnimaga on October 22, 2010, 10:02:55 pm
Wait, you didn't let your calc connected during installing I hope? That can permanently prevent TI-Connect from being able to detect your calc again afterward, even after a re-install. You must not connect the calc until TI-Connect is installed.
Title: Re: Auto Optimization Program
Post by: Happybobjr on October 22, 2010, 10:24:03 pm
no, its all good now. I had to uninstall and run ccleaner. reinstall and connection is completly fixed.
Title: Re: Auto Optimization Program
Post by: Deep Toaster on October 23, 2010, 11:37:52 am
thats kinda what was happening.

It would detect my calc. but half way through install,  it lost connection it told me...

Happened to me too. It was annoying :P

no, its all good now. I had to uninstall and run ccleaner. reinstall and connection is completly fixed.

What's ccleaner?
Title: Re: Auto Optimization Program
Post by: Happybobjr on October 23, 2010, 12:46:56 pm
no, its all good now. I had to uninstall and run ccleaner. reinstall and connection is completly fixed.

What's ccleaner?

The best c drive cleaner ever made.
And the best registry cleaner ever made.
And its free :)
And It is completely legitimate.

http://www.piriform.com/
Title: Re: Auto Optimization Program
Post by: DJ Omnimaga on October 23, 2010, 12:55:21 pm
Yeah I always got scared of CCleaner years ago because when I went on sites, it bugged me to install it, so I could no longer trust which site that had it for download was legitimate anymore.
Title: Re: Auto Optimization Program
Post by: Happybobjr on October 23, 2010, 02:01:37 pm
well the link i provided was legitimate.
If you think it might not be trustworthy, you can use sandboxie :)

If you do download it, try the regisrty cleaner it provides. You will be amazed.

Edit: For typos
Title: Re: Auto Optimization Program
Post by: DJ Omnimaga on October 23, 2010, 02:39:07 pm
No I didn't meant that link was not legit, I meant several years ago I was given over 9000 links to different locations of CCCleaner and I started not trusting them, because one copy (which was on ccleaner.com or something) installed full of junk on my comp. CCleaner would be very handy for my old comp.
Title: Re: Auto Optimization Program
Post by: Builderboy on November 14, 2010, 02:36:39 pm
So just a note to people using my program, unfortunately there is a logic bug in one of the optimizing branches, and so it will BREAK some basic programs that it tries to optimize, i recommend against using the optimizer on ANY program at this point, the bug is being fixed and a new version should be released in a bit
Title: Re: Auto Optimization Program
Post by: Munchor on November 14, 2010, 06:04:39 pm
It optimizes like sourcecoder, but on calça?

Writing in a phone LOL
Title: Re: Auto Optimization Program
Post by: Builderboy on November 14, 2010, 06:07:38 pm
Exactly ^^ it's broken right now though so don't use it D:
Title: Re: Auto Optimization Program
Post by: Happybobjr on November 14, 2010, 06:09:10 pm
interesting, i never ran into that bug.
Title: Re: Auto Optimization Program
Post by: AngelFish on November 14, 2010, 06:12:44 pm
well the link i provided was legitimate.
If you think it might not be trustworthy, you can use sandboxie :)

Sandboxie's excellent, but it's not perfect. Virii can still get into your system even if they're in the partition.
Title: Re: Auto Optimization Program
Post by: Builderboy on November 15, 2010, 01:15:40 am
It usually is only triggered by using custom lists, although there is another bug where if you have this:

If Blah
0->A

it will do the Delvar optimization, which doesn't work in this case
Title: Re: Auto Optimization Program
Post by: DJ Omnimaga on November 15, 2010, 01:28:10 am
Good luck fixing the bug! Glad this is still under production. :)
Title: Re: Auto Optimization Program
Post by: Munchor on November 15, 2010, 07:48:44 am
Great! This can be very helpful for on calc dev.

When you fix that bug, which I don't understand yet, I'm gonna use it for sure!