Java-Gaming.org Hi !
Featured games (83)
games approved by the League of Dukes
Games in Showcase (581)
Games in Android Showcase (162)
games submitted by our members
Games in WIP (632)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1] 2 3 ... 10
 1 
 on: 2015-05-25 05:25:27 
Started by Wiki Duke - Last post by PocketCrafter7
https://www.youtube.com/watch?v=DxmGxkhhluU&list=PLW3Zl3wyJwWOpdhYedlD-yCB7WQoHf-My&index=4

Great for maths! Really detailed explanations with in game examples so you actually know what the power of maths is!

 2 
 on: 2015-05-25 02:37:18 
Started by KudoDEV - Last post by KudoDEV
I ran across that in my googling journey. I'm going to give that a look in the future.

I doubt the list will get large enough to need it.

 3 
 on: 2015-05-25 02:35:19 
Started by KudoDEV - Last post by BurntPizza
The lambda/stream combo is especially good for ease of parallelization:
list.parallelStream().anyMatch(i -> i.check());
which may also yield improvement if your list is large enough.

 4 
 on: 2015-05-25 02:31:38 
Started by KudoDEV - Last post by KudoDEV
I'm just going to keep the lambda version for now and profile later down the road.

I got what I was looking for [:

 5 
 on: 2015-05-25 02:30:03 
Started by KudoDEV - Last post by BurntPizza
It generates an Iterator instance and uses it to loop over the list, which means overhead and garbage.

The lambda version most likely does the same.


Only if the object allocation isn't elided. It's quite possible to reduce the iterator to simply an index in a register (the same as the c-for loop). Unfortunately you can't really rely on it.

 6 
 on: 2015-05-25 02:25:45 
Started by KudoDEV - Last post by KudoDEV
Yeah that's the conclusion I'm reaching.

Thanks guys!

 7 
 on: 2015-05-25 02:23:54 
Started by KudoDEV - Last post by theagentd
1  
2  
3  
4  
5  
6  
for (Object i : list) {
    if (i.check()) {
        return true;
    }
}
return false;

This is worse than
1  
2  
3  
4  
5  
6  
for(int i = 0; i < list.size(); i++){
    if(list.get(i).check()){
        return true;
    }
}
return false;

It generates an Iterator instance and uses it to loop over the list, which means overhead and garbage.

The lambda version most likely does the same.

 8 
 on: 2015-05-25 02:15:07 
Started by KudoDEV - Last post by KudoDEV
Well both run just fine. But I'm trying to get used to using lambdas.

But I'm not aware of possible downsides yet. Like in this case.

Excuse the double. Didn't see @BurntPizza 's post

 9 
 on: 2015-05-25 02:13:21 
Started by KudoDEV - Last post by KudoDEV
Interesting that you say that. That's what I do for my entity hierarchy.

However, that will not work in this case.

So I'm guessing ultimately in this case both are equals?

 10 
 on: 2015-05-25 02:08:08 
Started by KudoDEV - Last post by BurntPizza
Possible algorithmic improvement instead:

You say that items are rarely added or removed, but are they modified often while in the list?
You could cache the truthiness of anyMatch and update it accordingly upon modification instead of computing it every query.

EDIT: since you're asking this question, I'm assuming you've already determined this is a performance problem. Say yes.  Pointing

Pages: [1] 2 3 ... 10
 
MrMapcom (13 views)
2015-05-23 20:26:16

MrMapcom (19 views)
2015-05-23 20:23:34

Waterwolf (29 views)
2015-05-20 15:01:45

chrislo27 (35 views)
2015-05-20 03:42:21

BurntPizza (70 views)
2015-05-10 15:53:18

FrozenShade (56 views)
2015-05-07 09:11:21

TheLopais (218 views)
2015-05-06 13:36:48

TheLopais (202 views)
2015-05-06 13:35:14

TheLopais (207 views)
2015-05-06 13:33:39

TheLopais (226 views)
2015-05-06 13:32:48
List of Learning Resources
by SilverTiger
2015-05-05 10:20:32

How to: JGO Wiki
by Mac70
2015-02-17 20:56:16

2D Dynamic Lighting
by ThePixelPony
2015-01-01 20:25:42

How do I start Java Game Development?
by gouessej
2014-12-27 19:41:21

Resources for WIP games
by kpars
2014-12-18 10:26:14

Understanding relations between setOrigin, setScale and setPosition in libGdx
by mbabuskov
2014-10-09 22:35:00

Definite guide to supporting multiple device resolutions on Android (2014)
by mbabuskov
2014-10-02 22:36:02

List of Learning Resources
by Longor1996
2014-08-16 10:40:00
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!