ChanServ changed the topic of #crystal-lang to: The Crystal programming language | | Fund Crystal's development: | GH: | Docs: | Gitter:
Peter0x44 has quit [Ping timeout: 268 seconds]
Peter0x44 has joined #crystal-lang
notzmv has quit [Ping timeout: 240 seconds]
notzmv has joined #crystal-lang
ur5us has joined #crystal-lang
ur5us has quit [Read error: Connection reset by peer]
taupiqueur has joined #crystal-lang
hellstabber has joined #crystal-lang
dannyAAM has quit [Remote host closed the connection]
dannyAAM has joined #crystal-lang
hellstabber has quit [Quit: Cy@]
<FromGitter> <rishavs> Can someone tell me an overview about how the crystal arrays are implemented? They seem to be classes and I am not sure how this is done.
xyhuvud has joined #crystal-lang
yxhuvud has quit [Ping timeout: 250 seconds]
<FromGitter> <> @rishavs: it contains a member that is a pointer to a "raw" memory region that is immediately populated and has a constant size and doesn't need to be even anywhere near the actual object in memory. ⏎ it is also possible to reallocate the raw memory on request (when array needs to grow), which is usually just making a new allocation and copying all data to it
<FromGitter> <> that is GC.malloc if i remember correctly. it's probably the part that you're missing. without this low-level operation this may indeed seem impossible
repo[m] has quit [Ping timeout: 240 seconds]
repo[m] has joined #crystal-lang
<FromGitter> <rishavs> Thanks!
sorcus has quit [Quit: WeeChat 3.4]
amk has left #crystal-lang [#crystal-lang]
Welog has joined #crystal-lang
notzmv has quit [Ping timeout: 240 seconds]
<FromGitter> <rishavs> I am trying to do a very simple benchmark between the iteration time of arrays vs that of hashes, but my benchmark report is not showing up; ⏎ ⏎ ```code paste, see link``` []
<FromGitter> <Blacksmoke16> prob just doesnt work on windows?
<FromGitter> <rishavs> o.0
<FromGitter> <Blacksmoke16> remember windows support isn't 100%
<FromGitter> <rishavs> Thanks ! Good catch. I am indeed trying it on windows. ^_^ ⏎ Back to wsl I go...
<FromGitter> <Blacksmoke16> yea id try it there and see if that fixes it
<FromGitter> <rishavs> Thanks! that did the trick. ⏎ Btw if anyone is interested in hearing, array iteration seems to be between 1.5x to 3x times faster than hash iteration
taupiqueur has quit [Ping timeout: 240 seconds]
<FromGitter> <Blacksmoke16> what are the numbers tho? 300 trillion is more than 100 trillion but both are totally sufficient :P
<FromGitter> <rishavs> i tried with 10, 1000, 10k and 1M entries in both
<FromGitter> <Blacksmoke16> sorry, mean the number of ips
<FromGitter> <rishavs> oh, went with the defaults
<FromGitter> <Blacksmoke16> 😅 no i mean the results of the benchmark
<FromGitter> <Blacksmoke16> like the thing it prints
<FromGitter> <rishavs> Here's one example ⏎ ⏎ `` ⏎ hashy 98.53k ( 10.15µs) (±14.40%) 0.0B/op 1.57× slower ⏎ arry 154.32k ( 6.48µs) (±20.62%) 0.0B/op fastest ... []
<FromGitter> <Blacksmoke16> 👍
sorcus has joined #crystal-lang
DeBot has quit [Quit: Crystal IRC]
jhass has quit [Quit: Bye]
straight-shoota has quit [Quit: ZNC 1.8.2 -]
DeBot has joined #crystal-lang
jhass has joined #crystal-lang
straight-shoota has joined #crystal-lang
notzmv has joined #crystal-lang
taupiqueur has joined #crystal-lang
avane has quit [Quit: o/]
ur5us has joined #crystal-lang
taupiqueur has quit [Ping timeout: 256 seconds]
taupiqueur has joined #crystal-lang
avane has joined #crystal-lang
<FromGitter> <plambert> I'm looking for someone to do a contract programming job in crystal; if anyone knows of a person looking for a relatively small job that'd contribute to a popular open source crystal library (all work will be contributed), let me know!
<FromGitter> <plambert> And if anyone knows a better place to ask this question, don't hesitate to tell me!
<FromGitter> <christopherzimmerman> What’s the library?
<FromGitter> <plambert> crystal-sqlite
<FromGitter> <plambert> *crystal-sqlite3
<FromGitter> <plambert> I'd like to add the ability to define custom functions (aggregate and ... whatever not-aggregate are called), and virtual table implementations. If it's not hard, throw in support for a virtual pager, but custom functions and virtual tables are what I need most.
<FromGitter> <> >/
<FromGitter> <plambert> Yes.
<FromGitter> <christopherzimmerman> Are there issues created requesting those? If those are fleshed out I’d be happy to take a look at them, don’t need a contract.
<FromGitter> <plambert> Thanks! I'd be happy to open the issues.
ur5us has quit [Ping timeout: 240 seconds]
taupiqueur has quit [Ping timeout: 256 seconds]