[00:02] *** melezhik left [00:10] *** rbt left [00:11] *** rbt joined [00:16] *** mowcat left [00:21] Any idea why adding promises to these variables would cause an increase in 20-30 seconds in the script? https://gist.github.com/rypervenche/5c9909a0f6621f126e9b6642cd3beb81/revisions [00:25] *** sena_kun joined [00:27] *** Altai-man_ left [00:28] you could tr timing individual pieces [00:29] does the output appear in the expected "rhythm" or are there pauses where you wouldn't expect any? [00:30] like, you would expect creating links and creating sentences grepped to appear immediately, and also creating @sentences would appear immediately [00:30] but then it'd await the sentence grepping part [00:30] *** leont left [00:50] *** oddp left [01:09] *** Altai-man_ joined [01:11] *** sena_kun left [01:12] *** molaf left [01:18] no problem rypervenche! [01:19] hey @DataKinds, you made that blog post including the "create objects a bunch" benchmark, right? [01:19] timotimo: yeah I did, what's up? [01:20] you mean this one right https://datakinds.github.io/2020/06/17/raku-in-2020 [01:20] we have an optimization that may one day let this run at much much higher speeds [01:20] because it won't be creating the objects at all [01:21] and in the past i've been interested in giving raudo an optimization for when you give it an empty program :D [01:22] hehe [01:22] what's the code path look like for an empty file, anyway? [01:23] i was hoping that neither ruby nor raku had an optimization like that because I really wanted to test like the full VM start-up time [01:23] also, more importantly: what do you mean by "it won't be creating the objects at all" timotimo? [01:24] in the ideal case, the entire stuff that happens inside the for loop is inlined [01:24] and the optimizer can reason that nothing that was created escapes [01:24] so no object has to be created, as long as we keep the things around that were put into attributes and such [01:25] *** molaf joined [01:26] with a little extra it can see that it's not ever read from [01:26] so the code inside the loop turns into { } [01:30] ahh that'd be very cool [01:30] would that happen in an optimization pass after the execution begins? or before [01:31] after [01:31] very cool [01:31] additionally, what's the feasibility of having an optimization for large collections of small objects where instantiating a new one actually just acts as a thin delta layer on top of a pointer to another object? ala some of clojure's collections [01:31] i know there's a LOT of speed to be had there [01:32] there's at least one talk by jonathan about this, it's "scalar replacement" and "escape analysis" (well, the latter enables the former in this case) [01:32] *** Cabanossi left [01:32] does raku not currently do any sort of escape analysis? [01:32] ah, kind of like turning an array of structs into a struct of arrays? [01:32] ya [01:32] it does, just not all of the escape analysis forever [01:33] ah interesting [01:33] sorry i'm picking your brain here i always found optimization really interesting [01:33] same [01:34] does rakudo currently do any sort of small object optimization? [01:35] i'm not sure if this counts; moarvm has an allocator for pages of almost-same-sized objects [01:38] *** Cabanossi joined [02:05] *** Manifest0 left [02:06] *** Manifest0 joined [02:11] *** Cabanossi left [02:21] *** Cabanossi joined [02:31] *** stoned75 left [02:32] *** wtwt5237 joined [02:33] Hi, I tried the new 2020.06 version of raku. Looks like it has become even slower than 2020.05. 2020.05 is slower than 2020.02. Does anyone have any insight into this? [02:33] https://github.com/wtwt5237/raku-for-bioinformatics [03:10] *** sena_kun joined [03:11] *** Altai-man_ left [03:17] *** rbt left [03:18] *** rbt joined [03:21] *** zacts joined [03:29] wtwt5237: I know that there were a few optimizations that were that done were made would make things worse in some acses, but better more often than not. It might be that your code is hitting some of those trade offs on the downside [03:33] *** vike left [04:26] *** MilkmanDan left [04:37] hello #raku [04:38] *** brtastic joined [04:44] *** Maylay left [04:50] *** Maylay joined [04:54] *** rindolf joined [05:01] *** Maylay left [05:04] *** wtwt5237 left [05:07] *** stoned75 joined [05:09] *** Altai-man_ joined [05:11] *** sena_kun left [05:16] *** CAPTCHA_REQUIRED joined [05:16] *** OpenZen left [05:16] How would you go about downloading something in raku concurrently [05:16] with transactional error handling [05:17] *** rindolf left [05:28] *** rindolf joined [05:30] CAPTCHA_REQUIRED: https://cro.services/docs/intro/http-client [05:31] *** brtastic left [05:32] the .get method returns a promise, so you can do all the usual stuff with it instead of using `await` [05:32] *** Maylay joined [05:34] *** vike joined [05:45] *** molaf left [06:07] *** brtastic joined [06:14] *** brtastic left [06:37] isn't cro a lil overkill for that [06:38] Why not just WWW [06:38] Or HTTP::Tinyish [06:42] well, Cro is asynchronous by design, which seems to fit the question [06:44] *** vike left [06:44] question asked concurrently, not async could just use .race [06:44] i mean async [06:44] I stand corrected hehe [06:52] *** brtastic joined [06:54] *** bocaneri joined [06:55] *** zacts left [06:59] *** skids left [07:10] *** sena_kun joined [07:12] *** Altai-man_ left [07:14] wtwt5237: i get fluctuating numbers on repeated runs. as low as 5.9s and as high as 7.2s. you might just have gotten a lucky 2020.02 and an unlucky 2020.0(5|6) [07:14] MasterDuke, I'll pass your message to wtwt5237 [07:17] *** sarna joined [07:18] *** bocaneri left [07:18] *** leont joined [07:23] *** aborazmeh joined [07:23] *** aborazmeh left [07:23] *** aborazmeh joined [07:28] *** bocaneri joined [07:31] *** vike joined [07:36] *** dakkar joined [07:55] *** aborazmeh left [08:05] *** xinming_ left [08:06] *** xinming_ joined [08:07] *** jarh joined [08:07] Hi everyone! [08:08] Where do I file a bug report for raku? [08:08] 👋 [08:08] % perl6 --versionThis is Rakudo version 2020.02.1 built on MoarVM version 2020.02.1implementing Raku 6.d. [08:08] https://github.com/rakudo/rakudo/wiki/rt-introduction [08:08] jarh: https://github.com/rakudo/rakudo/issues/new/ [08:16] *** JJMerelo joined [08:24] *** kensanata joined [08:28] *** pecastro joined [08:38] *** AlexDaniel joined [08:38] *** jarh left [08:38] *** AlexDaniel left [08:38] *** AlexDaniel joined [08:43] *** Sgeo left [08:47] rbt: rakudo-pkg 2020.06 packages are up [08:57] *** wamba joined [09:06] *** Doc_Holliwould joined [09:06] *** lizmat_ joined [09:07] *** reppie joined [09:08] *** Doc_Holliwood left [09:08] *** lizmat left [09:08] *** notandinus left [09:09] *** Altai-man_ joined [09:09] *** gugod left [09:09] *** x[LGWs4x4i]uG2N0 left [09:09] *** gugod joined [09:12] *** sena_kun left [09:14] *** JJMerelo left [09:20] *** MasterDuke left [09:36] *** oddp joined [09:44] *** AmberSaber joined [09:45] hi [09:46] *** AmberSaber left [09:48] *** wamba left [09:51] *** lizmat_ is now known as lizmat [09:54] ¦ doc: 187a10926d | (Patrick Böker)++ (committed using GitHub Web editor) | doc/Language/compilation.pod6 [09:54] ¦ doc: The "perl" repository has been renamed to "core" [09:54] ¦ doc: [09:54] ¦ doc: The rename took place in [4d5b254e654d3](https://github.com/rakudo/rakudo/commit/4d5b254e654d3ec07f90128c4e07314d70b95402). [09:54] ¦ doc: Reflect that change here. [09:54] ¦ doc: review: https://github.com/Raku/doc/commit/187a10926d [09:54] Link: https://docs.raku.org/language/compilation [09:56] *** JJMerelo joined [10:02] nine: Could you take a look into R#3765, please? [10:02] R#3765 [open]: https://github.com/rakudo/rakudo/issues/3765 [SEGV] Segmentation Fault occurring in 2020.06 after Converting Script to a Module [10:03] *** MasterDuke joined [10:05] Xliff: sorry, not any time soon. I'm in the middle of getting in-process precompilation going. If you could narrow down the failure to a somewhat more manageable size, I may be able to help. [10:06] nine: OK. Will attempt to work toward that. [10:06] nine: However, I expect the size is tied to the root cause. :/ [10:07] nine: in-process compilation will help a lot with large projects with lots of large dependencies, correct? (e.g., a lot of Xliff's projects) [10:07] 2020-06-23T09:55:01Z #moarvm MasterDuke: I think spesh plugins are going to be replaced by the new dispatch architecture. So probably not... [10:07] No. I don't think we've ever had a bug that depended on having huge code size [10:07] MasterDuke: yes [10:08] MasterDuke: I didn't think it would, but apparently it can save a very noticable part of compilation time when code is spread out over lots of compilation units [10:08] nine: There's always the first time, yes? [10:08] nine: i'm not sure about that (re large code size). very large literals (e.g., a hash with 100k+) have problems [10:09] MasterDuke: yes, but that's a much more extreme case than "my script is just pretty long" [10:09] nine: and good point re new-disp, i won't do anything until after that lands [10:09] nine: No, I think it's more the number of compunits involved, rather than code size. Just a thought. [10:09] I'd bet that it's not that either [10:10] Again, just a thought. [10:13] *** wamba joined [10:14] * lizmat clickbaits https://rakudoweekly.blog/2020/06/22/2020-25-on-time/ [10:21] *** Doc_Holliwould left [10:21] * Xliff falls for it. [10:26] anyone want to create a regex for git to recognize raku functions? https://github.com/git/git/blob/master/userdiff.c#L115-L144 [10:36] *** libertas joined [10:38] *** reppie is now known as x[LGWs4x4i]uG2N0 [10:52] *** kent\n joined [10:54] MasterDuke: maybe create an issue... somewhere? marketing repo? [10:55] user-experience, right [10:57] https://github.com/perl6/user-experience/issues/39 [10:57] MasterDuke thanks! [11:04] Thank-you El_Che. [11:05] MasterDuke: Ewww... that's using old regex, not raku regexs! [11:10] *** sena_kun joined [11:11] *** cpan-raku left [11:11] *** Altai-man_ left [11:12] *** cpan-raku joined [11:12] *** cpan-raku left [11:12] *** cpan-raku joined [11:14] *** JJMerelo left [11:18] *** JJMerelo joined [11:50] *** Xliff left [11:50] I don't think I'm doing this right... this line is never run https://github.com/shuppet/p6-api-discord/blob/refactor-comms/lib/API/Discord/Connection.pm6#L93 [11:51] the method is run from TWEAK [11:51] In turn from here https://github.com/shuppet/p6-api-discord/blob/refactor-comms/lib/API/Discord.pm6#L212 [11:52] And ultimately from a script calling that method [11:53] The Connection object is definitely created because the websocket is created. I have debugged the value of this $json https://github.com/shuppet/p6-api-discord/blob/refactor-comms/lib/API/Discord/WebSocket.pm6#L28 [11:55] JJMerelo: Hi! Thank you very much! [11:55] is that git repo a book you are writing? [11:55] Yep [11:55] "Raku recipes" for Apress. [11:56] Deadline in 3 weeks, two chapters to go... [11:56] Red is part of the basic configuration, since it uses an auxiliary library that also uses, by default, Red. [11:56] Altreus jnthn might know [11:58] JJMerelo: great. [11:59] JJMerelo: I'm looking forward to read that book [11:59] Well... [12:00] If you're interested in the previous one, "Perl 6 Quick Syntax Reference", also by APress, we're looking for reviewers... [12:00] This one will be published hopefully in October, if everything goes according to schedule. [12:02] JJMerelo: I'd love to help! even knowing that my help wouldn't be that good, I don't know if my English is enough for that [12:03] SmokeMachine we'd send you an e-copy and, when you're done, you're expected to publish a review, preferably in Amazon. Will that be OK? [12:05] *** wamba left [12:08] Ok! :) [12:11] *** JJMerelo left [12:38] have anyone made a mi6 release GitHub action already? [12:45] SmokeMachine: not to my knowledge [12:46] that would be useful... I'll try to do that when I have some time... [12:49] .tell jj "Raku, on the other hand, has fantastic documentation." (https://datakinds.github.io/2020/06/17/raku-in-2020) [12:49] El_Che, I haven't seen jj around, did you mean cj? [12:49] .tell jjmerelo "Raku, on the other hand, has fantastic documentation." (https://datakinds.github.io/2020/06/17/raku-in-2020) [12:49] El_Che, I'll pass your message to JJMerelo [12:54] lizmat: hopefully! [13:09] *** Altai-man_ joined [13:11] *** sena_kun left [13:16] New module released to CPAN! Gnome::N (0.17.10) by 03MARTIMM [13:16] New module released to CPAN! Gnome::Gtk3 (0.28.5.2) by 03MARTIMM [13:25] *** sarna left [13:31] *** tejr left [13:31] *** soursBot joined [13:33] *** tejr joined [13:59] *** [Coke] left [14:00] *** dataangel left [14:01] *** [Coke] joined [14:01] *** [Coke] left [14:01] *** [Coke] joined [14:02] * [Coke] finally reinstalls tmux so he can get better unicode support for his irc session. [14:02] <[Coke]> just noticed that camelia wasn't rendering in the toolbar in screen. [14:13] *** xinming_ left [14:13] *** xinming_ joined [14:28] *** poga joined [14:30] *** Kaeipi left [14:31] *** Kaeipi joined [15:10] *** sena_kun joined [15:11] New module released to CPAN! Red (0.1.9) by 03FCO [15:12] *** Altai-man_ left [15:25] *** soursBot left [15:28] *** soursBot joined [15:43] *** MasterDuke left [15:46] *** JJMerelo joined [15:47] Hi [15:47] 2020-06-23T12:49:53Z #raku jjmerelo "Raku, on the other hand, has fantastic documentation." (https://datakinds.github.io/2020/06/17/raku-in-2020) [15:48] .tell El_Che thanks for letting me know! [15:48] JJMerelo, I'll pass your message to El_Che [15:53] I'm adopting Digest::HMAC by the terms of its free license. It's been erroring in installation for some time, so important modules such as Cro::HTTP can't be installed automatically [15:53] JJMerelo++ [15:53] *** soursBot left [15:54] the PR has been sitting there for some time, no reaction. When they come back, they can simply merge changes and I'll retire my copy (or create a new stuff, if there's really something new there) [15:57] *** grumble is now known as rawr [16:00] ¦ ecosystem/JJ-patch-14: 40e9927ac1 | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | META.list [16:00] ¦ ecosystem/JJ-patch-14: Change repo for distribution [16:00] ¦ ecosystem/JJ-patch-14: [16:00] ¦ ecosystem/JJ-patch-14: To fix installation error. [16:00] ¦ ecosystem/JJ-patch-14: review: https://github.com/Raku/ecosystem/commit/40e9927ac1 [16:00] ¦ ecosystem: JJ++ created pull request #509: Change repo for distribution [16:00] ¦ ecosystem: review: https://github.com/Raku/ecosystem/pull/509 [16:09] are there any known mem leaks? [16:09] *** soursBot joined [16:10] i may have a proc that eats more mem as it runs but there is no obvious explicit global state [16:14] ¦ ecosystem: 40e9927ac1 | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | META.list [16:14] ¦ ecosystem: Change repo for distribution [16:14] ¦ ecosystem: [16:14] ¦ ecosystem: To fix installation error. [16:14] ¦ ecosystem: review: https://github.com/Raku/ecosystem/commit/40e9927ac1 [16:14] ¦ ecosystem: d26ab11a6b | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | META.list [16:14] ¦ ecosystem: Merge pull request #509 from Raku/JJ-patch-14 [16:14] ¦ ecosystem: [16:14] ¦ ecosystem: Change repo for distribution [16:14] ¦ ecosystem: review: https://github.com/Raku/ecosystem/commit/d26ab11a6b [16:16] *** Doc_Holliwould joined [16:17] *** kensanata left [16:22] almost certain i have an unbounded mem use case:( [16:28] timotimo: how do i get your heap thingee working? [16:47] *** MasterDuke joined [16:52] *** molaf joined [16:53] *** skids joined [16:57] *** natrys joined [17:09] *** Altai-man_ joined [17:11] *** sena_kun left [17:14] *** kybr joined [17:19] *** antononcube joined [17:21] *** stoned75 left [17:23] *** MilkmanDan joined [17:24] *** brtastic left [17:25] *** squashable6 left [17:25] Hi! I want some help with choosing package / module name. I wrote Raku packages that translated natural language commands into executable code in different programming languages. Say, I have QuantileRegressionWorflows module and LatentSemanticAnalysis module. What would be good module "path" names? Something like "Text::LatentSemanticAnalysis" or [17:25] "CodeGeneration::LatentSemanticAnalysis" ? [17:25] *** dakkar left [17:26] jdv79: you need the timo fork's "nqp-ops-makes-things-faster" (or similar) branch [17:26] *** squashable6 joined [17:27] antononcube, `Text::` seems fitting to me. [17:27] Here is an example call to the module LatentSemanticAnalysis: say to_LSAMon_R( "create from textHamlet; make document term matrix with stemming FALSE and automatic stop words; apply LSI functions global weight function IDF, local term weight function TermFrequency, normalizer function Cosine; extract 12 topics using method NNMF and max steps [17:27] 12 and 20 min number of documents per term; show topics table with 12 terms; show thesaurus table for king, castle, denmark;") [17:28] That call generates this R code: LSAMonUnit(textHamlet) %>%LSAMonMakeDocumentTermMatrix( stemWordsQ = FALSE, stopWords = NULL) %>%LSAMonApplyTermWeightFunctions(globalWeightFunction = "IDF", localWeightFunction = "None", normalizerFunction = "Cosine") %>%LSAMonExtractTopics( numberOfTopics = 12, method = "NNMF", maxSteps = 12, [17:28] minNumberOfDocumentsPerTerm = 20) %>%LSAMonEchoTopicsTable(numberOfTerms = 12) %>%LSAMonEchoStatisticalThesaurus( words = c("king", "castle", "denmark")) [17:29] Altai-man_ Thanks! I am strongly considering `"Text::"`. You do not find it too generic? [17:31] antononcube, not really. It depends on the direction you want/can take it to. For example, if you plan to make lots of plugins you can put it under some top-level name, just not too long please. ;) For example, there are Sparrow::{Plugins...} or Cro::(Core, HTTP, etc) and it is not "Web::Cro::...". [17:32] antononcube, if you are going for a single module, then Text seems ok. It assumes working with some text, including parsing/generation as well as modifying, etc. [17:33] Altai-man_ Good point. I do want to have multiple modules for generating Machine Learning workflows and might reuse grammars from siblings models. [17:34] antononcube, you can also consider just `LSA` prefix, I see google understands this abbr pretty well. Just to save some typing. [17:35] Altai-man_ So I envision something like `CodeGeneration::LatentSemanticAnalysisWorkflows`, `CodeGeneration::QuantileRegressionWorkflows`, `CodeGeneration::RecommenderWrofkows`, etc. And, yes, I realize the names I am showing are long. [17:38] antononcube, personally, I don't mind long names, auto-completion saves my day. Though `CodeGeneration` sounds a bit unusual. I wrote Java::Generate, maybe you can go with `LSA::Generate` or something. ;) [17:39] Altai-man_ I am targeting different programming languages with the same parser/interpreter module. [17:41] Altai-man_ For example here is a Python code generation result with the same sequence of natural commands above: `obj = LSAMonUnit(aText );obj = LSAMonMakeDocumentTermMatrix( lsaObj = obj, stemWordsQ = NA);obj = LSAMonEchoDocumentTermMatrixStatistics( lsaObj = obj );obj = LSAMonApplyTermWeightFunctions( lsaObj = obj, globalWeightFunction = "IDF", [17:41] localWeightFunction = "None", normalizerFunction = "Cosine");obj = LSAMonExtractTopics( lsaObj = obj, numberOfTopics = 12, method = "NNMF", maxSteps = 12);obj = LSAMonEchoTopicsTable( lsaObj = obj, numberOfTableColumns = 12, numberOfTerms = 10);obj = LSAMonEchoStatisticalThesaurus( lsaObj = obj, words = c("sing", "left", "home"))` [17:42] antononcube, not sure if it implies anything different from what I wrote. [17:43] Altai-man_ I mean I do not think this would work:`R::LatentSemanticAnalysisWorkflows`,`Python::LatentSemanticAnalysisWorkflows`, `Java::LatentSemanticAnalysisWorkflows` . [17:44] Well, I suggested LSA::Generate, which can have LSA::Generate::R, LSA::Generate::Python, etc. [17:44] LSA::Core etc. [17:45] Altai-man_ I see. Yes, that is interesting/good way of partitioning the functionalities.. [17:45] @Alta [17:47] Altai-man_ But the problem with that approach is that if want to have a common module with grammar for generic words or phrases I cannot share between the modules for LSA, Regression, or Classification. [17:48] Why? [17:49] Altai-man_ Because I do not thing `LSA::Generate::CommonWords` belongs in an obvious way to `QR::Generate::` [17:50] antononcube, use LSA::CommonWords? [17:52] *** brtastic joined [17:53] Altai-man_ Sure, I can use it explicitly in `QR::Generate::`, but I think with `CodeGeneration::CommonWords`, `CodeGeneration::QR::`, `CodeGeneration::LSA::` the dependency is going to be more obvious. [17:54] antononcube, well, you can do as you please, not sure if anybody can stop you. [17:55] *** Noisytoot_ is now known as Noisytoot [17:56] Altai-man_ Ok, good to know. :) But the alternative breakdown you suggested is definitely something I am going to seriously consider. [17:57] Altai-man_ Thank you for your suggestions! [17:58] *** antononcube left [18:00] *** soursBot left [18:05] *** MasterDuke left [18:07] timotimo: is that in timo/moarperf? [18:07] i don't see it [18:11] sorry, that's my p6-app-moarvm-heapanalyzer or something like that [18:14] curious that gnu time reported a max rss of 14.6g for a given run and ps only ever said 3.6g... [18:14] both way too much, in any case [18:15] *** MasterDuke joined [18:15] I see supernovus is doing a bunch of transfer to community modules. [18:15] Are they doing also the change in the ecosystem entries? Or that's up to us? [18:15] I think I know the answer to that, but... [18:18] hmm, raku segfaults at teh end of the run with --profile=heap [18:20] oh? it shouldn't have anything much that it runs when the program is finished [18:20] oh! [18:20] --profile=/tmp/foo.mvmheap [18:20] the profile switch has taken over the job of --profile-filename [18:20] i was just doing what the README said to [18:20] ok [18:21] oh, that needs updated! good catch [18:22] *** bocaneri left [18:29] *** MilkmanDan left [18:29] for a simple case it gen'd a 3g file - geez [18:29] oh, when you "head foo.mvmheap | xxd" does it say version 2 or 3 near the very start? [18:32] *** Sgeo joined [18:33] MoarHeapDumpv002 [18:34] still trying to iron out the deps and get the profiler running [18:34] the Compress::Zstd tests are failing [18:34] is that known? [18:35] Corrupted block detected [18:36] i was able to `zef install Compress::Zstd` no trouble. do you have the zstd-dev (or whatever it is for your os) package installed? [18:36] just installed it - ubuntu latest [18:36] 20.something [18:37] ah yes v002 is vastly bigger [18:37] ah, yes, i've got an off-by-one in there that i've only been able to reproduce in tests - which is ... "ironic"? i think it means the decompress stuff is fine and tfhe compress stuff has a bug [18:38] libzstd-dev/focal,now 1.4.4+dfsg-3 amd64 [installed] [18:39] *** Nile joined [18:41] https://nopaste.linux-dev.org/?1320537 [18:41] is there somethign else i should do? [18:44] any idea why copying a file to a gvfs mounted dir doesn't work? [18:44] I get an Failed to copy file: operation not supported on socket error [18:46] jdv79: you probably need to recompile moarvm so that it can see you now support zstd [18:49] i' [18:49] ll try [18:51] i see `libs: -lm -lpthread -lrt -ldl -lzstd` in the output after i `perl Configure.pl` [18:55] i just saw that [19:10] *** sena_kun joined [19:12] *** Altai-man_ left [19:12] if anybody wants to, they could turn libzstd into a run-time dependency rather than a compile-time dependency [19:13] same error from the profiler after a recompile [19:13] if that's a thing, that you just put the .h or something derived from it, into your code [19:13] the Compress:Zstd tests passed this time though [19:14] looks like it's still reading a v2 file [19:15] for v3 it'd be using HeapAnalyzer/Parser.pm6 [19:16] should/can i gen a v3 file? [19:17] you'll have to until i figure out why the heap snapshot parser isn't working right with v2 [19:18] how do i gen a v3 file? [19:18] when moar is built while libzstd is found, it'll gen v3 [19:19] there's a flag you can pass to configure if you really want v2 instead [19:19] *** epony left [19:20] *** AlexDaniel left [19:22] *** xinming_ left [19:23] *** xinming_ joined [19:24] i guess i laser-focussed on making v3 great while not taking enough pains to make sure v2 still worked, though i'm not sure why that'd have broken :( [19:24] there's a pull-request from nwc to fix something related to the v2 format i think? [19:28] *** soursBot joined [19:43] *** JJMerelo left [19:46] *** TeamBlast left [19:46] *** sivoais left [19:49] *** TeamBlast joined [19:58] New module released to CPAN! Concurrent::PChannel (0.0.3) by 03VRURG [19:59] *** sivoais joined [20:01] timotimo: even a v3 snap fails on a summayr for me [20:01] oh? now things are getting more interesting [20:02] https://nopaste.linux-dev.org/?1320538 [20:02] *** molaf left [20:03] at least the initial summary seems to be correct - for this simple run i see ~20M growth [20:03] that's a good start [20:03] but i'm not sure how much more i can glean from that [20:03] right, you'll want at the very least the highscore list [20:04] if i know what htat was - i believe you [20:04] *knew [20:04] the error message is potentially from inside moarvm, where it might be interpolating an empty debugname, in which case we may be doing something wrong in there, too [20:04] probably just a cosmetic fix there, though [20:06] is there a way to measure how much mem a ref is using? [20:06] a ref is usually just a pointer inside of an object [20:06] iirc in perl there's something like Scalar::Size [20:06] i mean recursively [20:06] "this hash is x size" [20:07] nothing that's really easy just yet [20:07] i do collect a results array for final processing but it should be tiny unless raku datastructures are way larger than i would think [20:07] it's moderately interesting that the number of frames is growing [20:08] we can get a bit of interesting output from log::timeline [20:08] hold on [20:09] if you could set LOG_TIMELINE_JSON_LINES=/dev/stderr for example [20:10] where do i set that? [20:10] *** kensanata joined [20:10] *** rbt left [20:11] *** rbt joined [20:12] that blasts out a lot of gibberish it looks like [20:12] yeah, it's supposed to output a json blob per line [20:12] ok perhaps mixing it with stdout is a bad idea [20:13] *** epony joined [20:14] hm. can i feed comma's log::timeline viewer with jsonp files? [20:20] https://nopaste.xyz/?d0349318bc0468d6#5nMwBjANsxmBb8wTsi2yyPoWwtyQz8bLMWFarD8ZhUeT [20:20] idk if that means anything [20:22] isn't it beautiful how it randomizes the keys of the json dicts there [20:23] ok, so the kind ("k" field) can be 0 for an event, 1 for "task start" and 2 for "task end", the latter two will also have an "i" which is a unique id [20:24] oh, when it exits with an exception, we'll also see the "task end" for it [20:24] so that's not how i could find out where it b0rks [20:25] hmm [20:27] i could see it from it being too quick, but does that even make sense ... [20:39] jdv79:i think a little piece of the err file got killed because of 2>err vs 2>>err ? [20:39] in that case i shouldn't recommend setting LOG_TIMELINE_JSON_LINES to stdout or stderr [20:40] *** rindolf left [20:42] https://nopaste.xyz/?ebab99f68a536eaa#3MKsRZsYCCfDz9DBM2khRmdszhBP1Yj1TkNqdZJFVmZs [20:42] is that any better? [20:42] *** natrys left [20:42] ah, yes, now the entry with "i":1 is there [20:43] oh there's output at the top that i was missing [20:43] somehow an Uninstantiable made it in there?!? [20:43] *** brtastic left [20:48] i can only imagine it's about the values object that gets passed to !read-attribute-stream [20:49] *** molaf joined [20:50] jdv79: would you be okay with patching the moarvm-heapanalyzer code locally? [20:54] i gues [20:54] i only have another 45mins today [20:54] can do more tomorrow maybe [20:55] *** natrys joined [20:55] *** natrys left [20:59] *** skids left [21:06] *** soursBot left [21:07] *** Benett left [21:08] *** Benett joined [21:09] *** Altai-man_ joined [21:11] what is the patching? [21:11] *** sena_kun left [21:18] sorry i got pulled AFK for a bit there [21:18] really i'm pretty confused about what the state may be at the point of the exception [21:18] is your data sufficiently harmless that you can just send the heap snapshot file over to me? [21:20] maybe we'll put a dd of $values and $result in front of the if $entrysize == [...] in Parser.pm6 around line 218 [21:20] and then dd the $dcvalues and $dcresult inside each of these ifs [21:21] i have to go prepare some food [21:24] idk - whta's in the snapshot? [21:24] as long as it doesn't have data sure [21:24] how do i send it to you? its 309M [21:25] it has filenames, function/method names and their line numbers, it has names of attributes, if you have an array of Int objects, the int cache will probably rat out values between -1 and 16 or 32 or so [21:26] https://goo.gl/t9VoHG - this may work? snapdrop? it ought to send it p2p [21:27] feel free to symmetrically encrypt it with gpg with some passphrase you get to me via another channel or whatever [21:33] this is probably a dumb question; you're on an x86 system? i haven't made the heap snapshot profiler endianness-clean [21:34] GTG now, sorry [21:35] this tool requires me to click accept before it will transfer anything i believe [21:35] maybe try firefox send [21:41] thanks [21:42] oh hey [21:42] i'm at the keyboard again for a moment [21:44] *** kensanata left [21:55] if anybody has any other easy/expedient ideas to finding the mem growth that would be nice [21:55] this is currently a prod issue for me so its a pain... [21:56] random golfing was unsucessful so far [22:02] have you tried heaptrack? it's at the moarvm level, but it might be helpful [22:02] nope [22:02] unfortunately i have to bounce for today. be back tomorrow! tahnks. [22:17] *** squashable6 left [22:19] *** squashable6 joined [22:21] *** squashable6 left [22:23] *** squashable6 joined [22:41] *** Altai-man_ left [22:42] *** sena_kun joined [22:59] *** pecastro left [23:09] *** Altai-man_ joined [23:12] *** m_athias left [23:12] *** sena_kun left [23:18] *** m_athias joined [23:45] *** squashable6 left [23:47] *** squashable6 joined