Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Nov 30 2019 21:47
    performantdata commented #113
  • Nov 30 2019 04:34
    performantdata commented #113
  • Nov 30 2019 03:47
    performantdata commented #113
  • Apr 08 2019 17:53

    densh on master

    Scala 2.12 support and updated … Merge pull request #115 from lo… (compare)

  • Apr 08 2019 17:53
    densh closed #115
  • Apr 08 2019 17:52
    densh commented #115
  • Mar 28 2019 20:03
    lolgab commented #113
  • Mar 28 2019 16:02
    lolgab opened #115
  • Feb 11 2019 14:24
    xeno-by removed as member
  • Apr 06 2018 15:30
    satabin commented #113
  • Apr 06 2018 15:22
    satabin commented #113
  • Sep 15 2017 09:01
    daron666 commented #113
  • Jan 24 2017 22:31
    l15k4 commented #47
  • Jan 24 2017 22:18
    l15k4 commented #114
  • Jan 24 2017 22:18
    l15k4 commented #114
  • Jan 24 2017 22:10
    l15k4 closed #114
  • Jan 24 2017 22:10
    l15k4 commented #114
  • Jan 24 2017 22:07
    l15k4 commented #114
  • Jan 24 2017 21:52
    l15k4 commented #114
  • Jan 24 2017 19:49
    DarkDimius commented #114
Denys Shabalin
@densh
@xeno-by what do you think about adding something like this to reflect api?
Ghost
@ghost~54a283bfdb8155e6700e3f59
def inline(fun: c.Tree, args: List[c.Tree]): c.Tree
This one?
Adam Wyłuda
@adamwy
@xeno-by This method will be used in at least two projects, and I imagine it could be useful for many more, so I thought that it might be a good idea to have something like that as a utility in reflect api.
Ghost
@ghost~54a283bfdb8155e6700e3f59
@non Maybe you have something like that available as a standalone library?
Erik Osheim
@non
@xeno-by hey sorry i missed this -- i've been meaning to factor that out but haven't yet
it's something i definitely use/want
Ghost
@ghost~54a283bfdb8155e6700e3f59
@non could you link to your current implementation?
the goal is to inline something like:
(a => foo(a + 13))(999) into something like foo(999 + 13)
as you can see it's not 100% bulletproof but works for the cases i use it for.
Alec Zorab
@AlecZorab
has anyone got recent jmh output numbers? I don't fancy waiting six hours for the tests to run
Denys Shabalin
@densh
@AlecZorab Running benchmarks with “-i 5 -w 10 -t 1” will give you ballpark numbers quite a bit quicker.
Adam Wyłuda
@adamwy
hi @densh, I'm trying to use a data class defined in a separate sbt module, but I'm getting compilation errors like this: "class X must be defined before it's used"
Denys Shabalin
@densh
Can you give me snippet of code that doesn’t work?
Adam Wyłuda
@adamwy
it seems that it breaks assertLayoutComplete assertion in Common trait
Denys Shabalin
@densh
Or link to commit
Adam Wyłuda
@adamwy
here is a change that introduces similar issue if data class is defined in the same package: adamwy/scala-offheap@a4b2258
Denys Shabalin
@densh
This looks like a bug, given that you don’t embed the classes
For embedding you need to define one strictly before the other
I’ll investigate and get back to you
Denys Shabalin
@densh
I think that we should ultimately just drop support for @embed and EmbedArray
Denys Shabalin
@densh
After giving it some more thought, I’ve decided that we should just merge Scala Native and Offheap APIs
There is going to be a Ptr[T] type implemented on top of sun.misc.Unsafe
And it will have the same semantics as Ptr[T] on Scala Native
This will supersede @data + @variant + @embed combo we’ve had before
Denys Shabalin
@densh
I’ve started experimenting with this in https://github.com/densh/scala-offheap/commits/topic/scala-native
Denys Shabalin
@densh
@adamwy What have you been up to lately?
Migration to scala-native-style api will take a few days
Adam Wyłuda
@adamwy
@densh So far I have implemented the offheap Seq/Set/Map using data classes and I'm just generating code directly to tests and benchmark modules.
I have run benchmarks and it seems that there are cases where the offheap version is slower than specialized on-heap implementation, so for now I'd like to figure out why that happens.
Denys Shabalin
@densh
What allocator do you use for benchmarks?
System’s malloc is really slow compared to jvm’s gc and our own region allocator.
Adam Wyłuda
@adamwy
Where applicable I'm using both malloc and region in benchmarks.
It looks like it's slower with operations that are not dependent on used allocator like sequential read/update.
Denys Shabalin
@densh
Very interesting results
Denys Shabalin
@densh
This message was deleted
This message was deleted
Philip Stutz
@pstutz
hi denys, when i use an "@data" class that is defined in a different file in the same package i get a "class [name of @data class] must be defined before it's used" compilation error. defining it in the same file is fine as is using it from a different package when it is imported. any idea what might cause this?
jeroentervoorde
@jeroentervoorde
Hi @densh, any ideas for the issue above?
Denys Shabalin
@densh
Hi there, seems to be some unfortunate interaction between separate compilation and our macros.
Can you please provide minimal reproduction and file it as an issue?
jeroentervoorde
@jeroentervoorde
Thanks, i will try to find some time this week.
jeroentervoorde
@jeroentervoorde
Hi @densh . i think i managed to create a reproducer: https://github.com/jeroentervoorde/offheap-error-reproducer . Odd thing is that when moving the code to a different file or package it compiles, when moving the code back to the original file the bug also disappeared. I hope the bug is triggered on your machine. I did try it using 2 laptops.
Denys Shabalin
@densh
@jeroentervoorde Thanks for the reproduction!
Jakub Liska
@l15k4
Hey, pls help me understand, why does this snippet needs at least -Xmx3400mto not throw OOM exception ? https://gist.github.com/l15k4/89d79c0acbf98f86904c190d35283f1f
in theory, there is just one object scala.array on heap and it should be Int.MaxValue big, so smth. like -Xmx2300m should suffice, right ?