123
-=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- (c) WidthPadding Industries 1987 0|581|0 -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=-
Socoder -> Language Tests -> JSE - Optimisationalism 5

Page : 1 2 Next
Prev
Tue, 15 Apr 2025, 07:34
Jayenkai

JSE - Optimisationalism 5


Optimisationalism 5
You can Run this here.

It's been over a year and half since I made Optimisationalism 4. Can you believe that?! Good grief.
I've even moved house during that time!
Time for a new Optimisationalism.

I've been itching to do this for a couple of days, now, and finally got around to it, this morning.
I've built this around my recent MacMini M4 purchase, so that it "just about" pokes it into slight stress levels. That means that anything slower will (hopefully!) be showing decent levels of stress, and I can work on getting the engine up to speed based on your scores.
Although there's the usual Text test, image test, shape test and maths test stuff, I've actually "NOT" optimised the main loop, so that there's a ton of If's and a bunch of maths being done every single loop.
Hopefully this will help me test the actual speed of the language, more than testing drawing calls and such.


What to Do
1. Click here to open the script in GotoJSE.
2. Hit the [fps] box and check that the version is at least v.3gig or above. If not, Refresh the page.
3. Run the script.

Then sit and watch random things happen for about 2 minutes or so. (your mileage will indeed vary!)

Once it's done, the typical table of scores should appear. You can either hit ; or ' to save the screenshot to your download folder, using JSE, or if you're on a mobile/tablet, you'll have to use whatever methodology you use on that to take a screenshot.

Be sure to let us know what your device is, and I'll try to keep tabs on everything.

-=-=-
''Load, Next List!''
Tue, 15 Apr 2025, 07:40
Jayenkai
Laptop : MacBook Air M2 - 8Gb - 70.61
> Reveal 🔎

Desktop : MacMini M4 - 16Gb - 49.63
> Reveal 🔎

Tablet : iPad Pro M4 - 8Gb (I think!) - 55.33
> Reveal 🔎

Phone : iPhone 16 - 8Gb - 54.27
> Reveal 🔎

Gamey : ASUS ROGAlly - Original model - 96.66
> Reveal 🔎

VR : Quest 3 - Original model - 364.43
> Reveal 🔎

Mini : GPD Win - Quite old - 1712.09
> Reveal 🔎

Bag'o'Shite : Samsung Galaxy Tab A 10" 2018 model - DNF

-=-=-
''Load, Next List!''
Tue, 15 Apr 2025, 13:57
Dan
Windows 10 Laptop - 32gb ram:
Tue, 15 Apr 2025, 14:10
spinal
What's good, big number or small number?



Windows 11 PC, i9 64GB Ram

-=-=-
Check out my excellent homepage!
Tue, 15 Apr 2025, 14:58
Jayenkai
Sorry.. It's time taken, so smaller = better.

-=-=-
''Load, Next List!''
Tue, 15 Apr 2025, 17:12
Jayenkai
: Download | Suno Link

-=-=-
''Load, Next List!''
Tue, 15 Apr 2025, 18:43
Dan
Regarding the audio: ....
  --v

Tue, 15 Apr 2025, 18:58
Jayenkai
Aye, I was actually fixing that a few hours ago
It has been repaired, just not uploading it because.. .. regarding the audio.. a LOT of other things broke, today, and I did a big-ol' "Hold Ctrl-Z and hope for the best!"

But that particular fix is (as far as I've tested it) a fix that is hopefully fixed once I upload it...

> Reveal 🔎

-=-=-
''Load, Next List!''
Thu, 17 Apr 2025, 00:29
Jayenkai
Day 1's tweaking, and the biggest improvement is that "Bag'o'Shite : Samsung Galaxy Tab A 10" 2018 model - DNF" is now managing to finish.
.. It takes pissing ages to get there, but it finishes!!

Bag'o'Shite : Samsung Galaxy Tab A 10" 2018 model - 2019.72!
> Reveal 🔎

There's been a fair amount of optimising, with a bunch of bits getting faster, though others are actually slower. Fixes for those will be incoming.

The disparity between First run and Second+ seems to be getting worse, so I'll probably focus on figuring that out.
..If you open code, run it, let it run a bit, close it, then run it again, it's MUCH faster the second time and beyond, because the browser's done a bunch of JIT Compiling behind the scenes.

It's not an issue when you're coding, but if the player's using Player Mode, then it's only going to run the once, and they'll be seeing First Run speed, rather than Second+

-=-=-
''Load, Next List!''
Thu, 17 Apr 2025, 14:59
Jayenkai
Had to do a LOT of fixing, today, as I actually buggered up a TON of commands, yesterday.
I mean, when the Flip command doesn't even work, you know you've done something pretty nasty!

Anyway, things "appear" to be better, now.
If you spot any glaring issues, be sure to let me know.

-=-=-
''Load, Next List!''
Thu, 17 Apr 2025, 15:17
Dan
Yes, i'm getting following errors:


JSE_3gij.js:5084 Uncaught ReferenceError: cb is not defined
at JSE_DoI_Drawing (JSE_3gij.js:5084:5)
at JSE_DoI (JSE_3gij.js:3392:12)
at RunJSEScript (JSE_3gij.js:2977:12)
at redraw (JSE/:5625:5)
at heartbeat (JSE/:5771:5)


clicking on one of them points to the if (cb>0) line:

if (Alpha>0) {
DrawImg(iSymbol[ c ],JA0,JA1,s);
if (cb>0) {wa=Alpha;Alpha=cb;DrawImg(iSymbol[Math.floor((c+1)%8)],JA0,JA1,s);Alpha=wa;}
}

Thu, 17 Apr 2025, 15:41
Jayenkai
Dang, must a browser quirk. OK, I'll shuffle some code around. Gimme .. .. Maybe an hour!

-=-=-
''Load, Next List!''
Thu, 17 Apr 2025, 15:51
Jayenkai
OK, fixed it. (I hope. Let me know!)
Thu, 17 Apr 2025, 17:17
Dan
Ok, now it works !
Fri, 18 Apr 2025, 01:14
spinal


pixel 6 pro

-=-=-
Check out my excellent homepage!
Fri, 18 Apr 2025, 14:53
steve_ancell
My PC: Shyte.




My Phone: Doogie S110: Shyte, Shyte, Poop and Shyte.


Fri, 18 Apr 2025, 15:22
Jayenkai
Those are some nice sets of stats, and it's great that I can see what's causing the majority of slowdown..
Mostly the font rendering, again, as per usual.
I like how the rest of the stats are mostly static. Something I'd love to do is make a tiny little benchmark when the script is being parsed, which might be able to do a quick drawing test, enough to guesstimate what oughta be limits or such.
.. Though, how that works in a game-dev environment I'm not sure.
Maybe I should just make limits into variables, and let the developer decide whether to work around them or not..?

It makes me wonder if it'd even be worth trying to get WebGL involved. On the one hand, mostly everything else would be super-speedy, but IIRC font rendering is even worse in WebGL, so the stats would be crazy skewed in the wrong direction.
Hmmm..

But, yeah, I like those numbers.
Thanks, Steve.

Meanwhile, I've nipped a tucked a couple more bits and pieces, today, fixed up another "can get stuck in a loop" issue, and started to dig into how I work with Arrays.
... And then didn't manage to fix the up in the slightest, because it was too hard and my convoluted code kept breaking

\o/yeay\o/

-=-=-
''Load, Next List!''
Fri, 18 Apr 2025, 17:59
steve_ancell
You're welcome mate.
Sat, 19 Apr 2025, 14:52
dna
This is incredible that you got it to run inside of the browser.
Good Work

-=-=-
DNA
Mon, 21 Apr 2025, 16:00
Qube
Mac Studio M4 Max (Chrome): 49.36

Judging by the M4 Max being pretty much the same as an M4 Mac mini I would say this is using a single core?



Mac Studio M4 Max (FireFox): 43.16 - faster for some reason



-=-=-
Until the next time...
Mon, 21 Apr 2025, 16:03
Jayenkai
Yeah. I'm not really sure how to get a BASIC interpreter to do multi-core/thread stuff, without specifically making the language itself be multi-core/threaded.
I mean.. for n=1 to 10 : print "hello "+n : next can pretty much only happen in those specific steps, right?

-=-=-
''Load, Next List!''
Mon, 21 Apr 2025, 16:09
Qube
I don't think it needs to be multi-threaded. Having multi-threaded functions might be something to look into in the future but surely it's fast enough now for masses of 2D games anyway.

-=-=-
Until the next time...
Mon, 21 Apr 2025, 16:11
Jayenkai
As for why one browser is faster than the other.
It's to do with the JIT compiling of the Javascript.

Some browsers only bother to do it "Just in time", Safari being one of the "as it happens" browsers, whilst others (Firefox and Opera specifically) tend to do things as soon as they can.
This leads to those being much faster, from the get-go.

If you let Safari run through the test, then hit pause/stop, then hit start again, you'll find Safari's MUCH quicker the second time around.
This is something I'm currently trying to figure out. How can I get Safari to run "full speed" from the start.

-=-=-
''Load, Next List!''
Mon, 21 Apr 2025, 16:15
Qube
Ah thanks. I just assumed all browsers were running Javascript via JIT by now.

EDIT - this post was terribly written, lol. I mean I would have thought that all browsers would be running javascript through JIT in the most optimised way by now with very little difference between them.

-=-=-
Until the next time...
Mon, 21 Apr 2025, 16:19
Jayenkai
Yeah, it's still a noticeable difference. Opera's been the fastest for the majority of the time I've been testing this, but Firefox has really improved over the past few months. Additionally, Firefox's text-to-canvas is getting a LOT faster, too, which is nice. It used to be really quite bad at that.

-=-=-
''Load, Next List!''
Tue, 22 Apr 2025, 00:51
spinal


Little better, same computer.

-=-=-
Check out my excellent homepage!
Page : 1 2 Next
Prev