NeXeNjreicher: yeah i like it, but i would prefer a solution that doesn't come with instructions one must follow
* DynamiteDan joined #java
* _10KBps joined #java
* erbium joined #java
* amosbird joined #java
* mz` joined #java
* sparr joined #java
* priime joined #java
* mixfix41 joined #java
* canton7 joined #java
* bullshark joined #java
jreicherNeXeN: what do you mean? I'm not arguing, just trying to understand.
NeXeNwell it's an idiom devs have to adopt if they use the lib. i wanted to be dx focused as it's really not a permenant solution just a way to help people ease into the domain
* jjakob joined #java
NeXeNit is a good solution, none the less
jreicherYou mean it's the devs using the lib that would be writing this try-with-resource block? I thought it was in the library itself.
NeXeNyes, a dev would want to use it. it switches contexts and so it's tidy way to keep from remembering to close a context
jreicherIs there a way to private an in-library helper of some kind so that this solution (which seems to be the right one) can be used without consuming devs having to write it?
jreicher^private^provide
NeXeNthe spring implementation is quite different as spring already understands contexts really well and it's well suited for it
NeXeNand i really expect that to be 90% of the use case, but i also wanted a way for "vanilla" client code to interface with the lib without having to instantiate contexts and manually manage the lifecycle
* michele2 joined #java
NeXeNessentially the lib lets you take a pojo and either a) use a provided object or b) wrap their object so that they can created the objects using factories i've hidden behind this context, so it's seamless you can begin to use and test value objects (identityless). there's some guards for mutation issues and other things
NeXeNbut you know let you benchmark if you could take a stream of objects and what they would perform as a value object....uh lemme find the jep number
NeXeNhehe, jep 401 (not found)
jreicherYou mean the value object jep? I'm aware of that stuff
jreicher~jep401 you say?
javabot'401 you say?' is not a valid JEP reference.
jreicherOh wow. I thought it would strip the suffix
NeXeNyeah, so the lib wraps a block of code in this context with the try-with-resources, so that the code within that block will utilize these value objects instead of regular identity based objects
nevetJEP 401: Value Objects (Preview)
NeXeNi originally had been building a lib to do a similar thing as value objects, which essentially packs objects into primitives for performance, but now that we have jep 401, i refactored the lib to essentially let you choose your strategy, identity safe, value objects, or primitive packed
jreicherWhy didn't you rewrite the whole thing in C like a normal person?
NeXeNso i didn't abandon my old effort but i see that also it will be defeated by value objects. also i did some panama stuff and since it's essentially a benchmarking lib, i have made also a strategy for it, to store off heap
jreicher(I'm joking, BTW)
NeXeNi have some in C, but just where i needed performance
NeXeNanyways, at the end of the day, now i have a neat little javafx dashboard that runs simulations to max out and count garbage collection and other stutters so i can watch how each strategy performs (identity safe, value objects, primitive packed, and panama offheap)
NeXeNand i see that all my work has been deprecated. i think value objects will be how i'll do things moving forward
jreicherI haven't used them yet but I've been really looking forward to doing so.
NeXeNi need to start writing some docs, i'm so lazy. i want to upload it so i can get advice, but i'm embarrased because i can't maintain a project like that.....i'm too lazy
NeXeNthat's the purpose. i had the idea to merge it with what i had already been doing because i wanted to test it on an app i have that has lots of gc churn in the eden space
NeXeNwhich i find i can get from like 3x to 30x in simulations (like vectors and pixel visual simulations, real data streaming in from the firehose is a different story)
NeXeNone of the difficulties i have found is with threading. man with virtual threads being so cheap they really move the pressure around. it used to be you want to get latency down as small as possible, but now you gotta worry about backpressure because everything's insanely good now
* sunyour joined #java
* sbalmos joined #java
* summerisle joined #java
* deebo joined #java
* ramontjunior joined #java
* deepy joined #java
* acidjnk joined #java
* hugdru joined #java
* pebble joined #java
* hugdru joined #java
* hugdru joined #java
* hugdru joined #java
* hugdru joined #java
* hugdru joined #java
* hugdru joined #java
* hugdru joined #java
* hugdru joined #java
* Muspah joined #java
* qbone joined #java
* dumptruckman joined #java
* antonix joined #java
* digicyc joined #java
* gh0stbuster joined #java
* MikeBux joined #java
* dmlloyd joined #java
* Disconsented joined #java
* OmniRadix698919 joined #java
* Geolykt joined #java
* jreicher joined #java
* jbosmans joined #java
* leppard joined #java
* leppard joined #java
* leppard joined #java
* akaWolf joined #java
* leppard joined #java
* leppard joined #java
* leppard joined #java
* leppard joined #java
* leppard joined #java
* jreicher joined #java
* leppard joined #java
* Inline joined #java
* leppard joined #java
hassoon'morning
* jreicher joined #java
Inlinemorning
* odinsbane joined #java
odinsbaneIntellij is giving me a strange warning. `'ForkJoinPool' used without 'try'-with-resources statement`
odinsbaneThe forkjoinpool isn't autoclosable and if I put it inside of a try/catch it doesn't get rid of the warning.
* ramontjunior joined #java
deeboit is autocloseable though? via AbstractExecutorService
odinsbaneAh, I see. ForkJoinPool now implements closable, but I'm still targeting java 8.
odinsbaneLooks like that change happened in java 19.
deebolanguage level for project maybe off then?
odinsbaneThat would explain it. It is set to 25 somewhere, but maven has a rule to target 8.
BombeYeah, you need to configure some more shit to make IDEA adhere to that.
* ramontjunior joined #java
dreamrealtargeting java 8, ouch :/
ParaWith a gun, I hope.
dreamrealhey, java 8 was really good
* canton7 joined #java
* Fiji joined #java
* jamezp joined #java
sbalmos8 was good, 11 was good
* kinabalu joined #java
* hwpplayer1 joined #java
* RetroPunk joined #java
dreamreal25 is better, and the next LTS is likely to be yet another game changer
* Soulcatcher joined #java
* hwpplayer1 joined #java
odinsbane25 seems to have better performance for me than 21.
dreamrealtehre's a reason for that!
* cmiles74 joined #java
* hwpplayer1 joined #java
* odinsbane joined #java
* sa02irc joined #java
* ernimril joined #java
* Cae2 joined #java
* hwpplayer1 joined #java
* GreenResponse joined #java
* vincere joined #java
* [twisti] joined #java
* ramontjunior1 joined #java
* ramontjunior joined #java
* rorx joined #java
* cmiles74 joined #java
* MikeBux joined #java
* hwpplayer1 joined #java
* bionade24 joined #java
* Ekho joined #java
* Joel joined #java
* magla joined #java
* hwpplayer1 joined #java
* HamAdams joined #java
* ta71 joined #java
* metalmaniac joined #java
* sa02irc joined #java
* dob1 joined #java
* kathadris joined #java
* internecine joined #java
* lava joined #java
* henbruas joined #java
* hwpplayer1 joined #java
BombeI’m happy we recently switched our main product from Java 11 to 21.
* cmiles74 joined #java
dreamrealWe went 8->17, with a plan to go to 25 real soon now
ernimriljikes, what is taking you soo long to get to modern java?
dreamrealmaintainers and/or love
dreamrealernimril: I thought you had your own compiler
ernimrilI do, I am actually working on it right now :-)
dreamrealSo why you carin about dum ol jikes huh
ernimrilIt can actually compile itself in a loop now (java 25).... But I know it still has a few problems with real world codebases
ernimriljikes was a fine compiler, sadly it never got updated for java 5
dreamreali remember being quite impressed when it first came out
ernimrilit was on hold for a long time, but I have gotten back to it now
* cmiles74 joined #java
* hwpplayer1 joined #java
* Maldivia joined #java
* bullshark joined #java
* leppard joined #java
* Inline joined #java
* m joined #java
jbosmansway back when, it used to be expensive supported middleware keeping solutions back from upgrading