|
Parrot 2.10.1 Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Long live Git! github.com/parrot/parrot | git clone git://github.com/parrot/parrot.git Set by moderator on 18 November 2010. |
|||
|
00:00
mikehh joined
00:06
bacek left
|
|||
| cotto_work | aloha: clock? | 00:07 | |
| aloha | cotto_work: cotto_work: LAX: Wed, 16:07 PST / CHI: Wed, 18:07 CST / NYC: Wed, 19:07 EST / UTC: Thu, 00:07 UTC / LON: Thu, 00:07 GMT / BER: Thu, 01:07 CET / TOK: Thu, 09:07 JST / SYD: Thu, 11:07 EST | ||
| cotto_work | bacek_at_work: ping | ||
| allison: ping | 00:12 | ||
|
00:14
shockwave joined
|
|||
| dalek | rrot/embed_api: 99428c2 | (Mariano Wahlmann)++ | src/embed/ (2 files): Make src/embed/pmc.c & src/embed/api.c compile with gcc |
00:19 | |
| rrot/embed_api: 590f387 | Whiteknight++ | / (3 files): update pbc_disassemble to the new API. Had to add a new API function to perform disassembly. Build still fails at parrot_nci_thunk_gen |
|||
| rrot/embed_api: 36fca15 | Whiteknight++ | / (7 files): Finally add in the rudiments of my error reporting mechanism. There is now a final_error STRING on the interp that is reserved for printing error messages of last resort. Several other fixes. parrot_nci_thunk_gen still fails with segfault, after the main runcore terminates from unhandled exception. I suspect calling Parrot_exit at that point breaks things irrepairably and later operations fail in bad ways. I may need to remove Parrot_exit f |
|||
| rrot/embed_api: 489f01f | Whiteknight++ | src/embed/ (2 files): Merge branch 'embed_api' of github.com:Whiteknight/parrot into embed_api |
|||
| rrot/embed_api: 3d34e6a | Whiteknight++ | /: Merge branch 'embed_api' of github.com:parrot/parrot into embed_api |
|||
|
00:20
shockwave left
00:23
stilgar joined
|
|||
| cotto_work decommutes | 00:25 | ||
|
00:27
zby_home joined
00:28
dmalcolm left
00:37
dngor left,
dngor joined
|
|||
| allison | cotto/cotto_work: pong (when you finish decommunting) | 00:37 | |
|
00:46
zby_home left
00:51
dngor left
00:52
dngor joined
|
|||
| cotto | allison, what was the strategy behind the context refactors? | 00:53 | |
| It sounds like a similar approach is warranted for packfiles | |||
|
00:53
mikehh left
|
|||
| allison | cotto: break it into a series of small refactors, preserving the interface as much as possible, but making more disruptive changes on deprecation boundaries | 01:00 | |
|
01:02
mikehh joined
|
|||
| cotto | allison, what was the strategy for turning it into a pmc? | 01:02 | |
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#1310) fulltest) at 3cfeb72 - Ubuntu 10.04 amd64 (g++) | 01:04 | |
| cotto | mikehh, how lovely are the feet of those those who bring good news | ||
| mikehh | cotto: whatever, still have a problem (or did) with 10.10 amd64 and g++-4.5, will check that again :-} | 01:07 | |
| allison | cotto: ah, for that we first made a wrapper pmc around the existing system, leaving the old code in place | 01:08 | |
| cotto: then gradually transitioned over to using the pmc everywhere | |||
| cotto: and then (on a deprecation boundary) removed the old interface | |||
| cotto | so there was lots of ATTR access during the transitional period? | 01:09 | |
|
01:19
stilgar left
|
|||
| whiteknight | dukeleto: ping | 01:19 | |
| we have a *very* nice logo submission for Parrot+RTEMS | |||
| At least, my untrained eye likes it | 01:20 | ||
|
01:33
shockwave joined
|
|||
| mikehh | t/pmc/fixedstringarray.t - Non-zero wait status: 11 in coretest (make corevm/make coretest) - Ubuntu 10.10 amd64 - g++-4.5 | 01:36 | |
| doesn't happen anywhere else (passes make test) BUT fails this test in Kubuntu and Ubuntu 10.10 with g++-4.5 no --optimize (passes with --optimize and with gcc-4.5) | 01:38 | ||
| and on i386 versions and on 10.04 amd64 with g++-4.4 | 01:39 | ||
| whiteknight | yay! another pull request | 01:42 | |
| dalek | rrot/dynext_func_rename: c988360 | (Matt Rajca)++ | / (10 files): Rename public functions in src/dynext.c |
01:46 | |
|
01:46
shockwave left
01:50
bluescreen joined
|
|||
| dalek | rrot: 0851b2c | Whiteknight++ | / (122 files): Merge branch 'master' of github.com:parrot/parrot |
01:54 | |
| rrot: f5740f7 | Whiteknight++ | src/global_setup.c: this commit ended up on the wrong branch somehow. Remove it for now |
02:10 | ||
| bluescreen | That happens ;) | 02:16 | |
| whiteknight | bluescreen: Check out the embed_api branch. I'm kind of stuck right now | ||
| parrot_nci_thunk_gen fails with segfault and I can't figure out why yet | 02:17 | ||
| bluescreen | I'm trying to get pbc_* to work with longopt | ||
| whiteknight | oh, okay | ||
| that would be awesome | |||
| bluescreen | actually its almost there | ||
| but need to change the Makefile.in | |||
| whiteknight | ok | 02:18 | |
| bluescreen | what's parrot_nci_trunk_gen ? | ||
| whiteknight | it's a tool that generates a bunch of function"thunks" for NCI function calls | 02:19 | |
|
02:19
nwellnhof left
|
|||
| whiteknight | you pass in a list of function signatures, and it builds a C function for you to call an external library | 02:19 | |
| bluescreen | hmm.... what is your suspect? | 02:20 | |
| whiteknight | the interp struct is getting corrupted some how. There is an unhandled exception that triggers the error mechanism. | 02:22 | |
| I think that the first unhandled exception is causing something to get broken and when we try to recover everything is already broken | |||
| I don't know why it is throwing an exception in the first place, however | 02:23 | ||
| bluescreen | ok... are u using parrot.exe ? | ||
| what are you using to reproduce it | 02:24 | ||
| whiteknight | it's just part of the build | 02:25 | |
| type "make", and you get there eventually | 02:26 | ||
| bluescreen | ok.. that's easier | ||
| dalek | rrot: 6ab7c2e | Whiteknight++ | /: Merge branch 'master' into dynext_func_rename |
||
| bluescreen | is there any comprehensive doc about git somewhere?? the more I use it the more I think I need to learn it from a doc | ||
| cotto | bluescreen, gitref.org/ | 02:27 | |
| bluescreen | thanks cotto++ .. I really wanted to RTFM | ||
| cotto | (linked from github's help, which lives up to its name) | 02:28 | |
| there's a wide selection of fine manuals | |||
| bluescreen | I've mostly read cheat sheet on how svn dev cycle applies into git | 02:30 | |
| but it is a complete different beast | |||
| cotto | very different | 02:31 | |
| whiteknight | I | 02:35 | |
| 've got to install Inkscape to really examine some of these logos | 02:36 | ||
| cotto | where are the logos? | ||
| dalek | TT #1872 created by mikehh++: t/pmc/fixedstringarray.t fails coretest 64 bit with g++-4.5 | ||
| TT #1872: trac.parrot.org/parrot/ticket/1872 | |||
| whiteknight | on the google-melange website | 02:37 | |
| in the comments of the related tickets | |||
| cotto | apparently I need to do some things | 02:38 | |
| whiteknight | yes, quite a few things :) | 02:39 | |
| in this case, much better than not having enough | 02:40 | ||
| blah. I wish dukeleto were around. There's a great Parrot+RTEMS logo submission that I want him to see | 02:48 | ||
| cotto | melange-- | 02:49 | |
| whiteknight | yeah. For a program designed to help improve the quality of free software, it's pretty lousy software | 02:50 | |
| cotto | I'd hate for Parrot/RTEMS to have a better logo that Parrot. ;) | 02:51 | |
| whiteknight | then the Parrot logo would have to improve | 02:52 | |
| cotto | yes | ||
| whiteknight | I don't think it's a bad logo we have. Not nearly as awesome as it could be | 02:53 | |
| but that's neither here nor thre | |||
| there | |||
| cotto | We could hijack the feathers, though they're similar to Apache's logo. | 02:54 | |
|
02:59
AzureStone left
|
|||
| whiteknight | that website submission is pretty plain | 02:59 | |
|
02:59
eternaleye left,
GeJ left,
GeJ joined,
arnsholt left,
arnsholt joined,
dngor left,
dngor joined,
Hunger left,
eternaleye joined,
wagle left,
jjore left,
wagle joined,
AzureStone joined,
NotFound left,
Hunger joined,
nopaste left,
NotFound joined,
jjore joined
03:00
sjn left,
sjn joined,
jasonmay left,
jasonmay joined,
TonyC left,
TonyC joined
03:01
nopaste joined
03:10
slavorg left,
whiteknight left,
slavorg joined
|
|||
| bluescreen | whiteknight: ping | 03:40 | |
| cotto | bluescreen, you might want him to be online before you ping him | ||
| bluescreen | lol | ||
| whats the command to save a message for him | 03:41 | ||
| cotto | msg bluescreen this one | ||
| aloha | OK. I'll deliver the message. | ||
| bluescreen | gr8 | ||
| what's your current location cotto | |||
| US? | |||
| cotto | redmond, wa | ||
| yes | 03:42 | ||
| bluescreen | you seem to be 24x7 online | ||
| cotto | so I do | ||
| bluescreen | he he.. is parrot your full time job | ||
| ? | |||
| cotto | no, but work is tolerant of idling as long as I don't spend too much time. | 03:43 | |
| bluescreen | thats great... I wish i had a google's 20% | 03:45 | |
| msg whiteknight I've sent you an email about the segfaults in the parrot_nci_thunk_gen | 04:04 | ||
| aloha | OK. I'll deliver the message. | ||
| bluescreen | good bye | 04:05 | |
|
04:05
bluescreen left
04:09
nopaste left
04:15
nopaste joined
|
|||
| cotto | bacek_at_work, ping | 04:48 | |
|
04:54
simcop2387 left
|
|||
| bacek_at_work | cottopong | 05:04 | |
| bacek_at_work think that "cottopong" is some alien monster :) | |||
| cotto, pong :) | |||
| cotto | bacek_at_work, what's the "gc_ms2_magical_mark" that src/gc/gc_ms2.c in generational_gc refers to? | 05:05 | |
|
05:05
cotto is now known as cottopong
|
|||
| cottopong | rawr | 05:05 | |
|
05:05
cottopong is now known as cotto
|
|||
| bacek_at_work | just overriden version of pmc_mark which will set proper flags | 05:06 | |
| see '"Magical mark" will do next' few lines down | |||
| cotto | that makes sense | ||
| right | 05:07 | ||
| It threw me off that it wasn't the name of a real function. It'd make a good one. | |||
|
05:07
simcop2387 joined
|
|||
| cotto | bacek_at_work, what code actually does that work? | 05:08 | |
| bacek_at_work | I didn't come with better name. Feel free to rename it to something tasteful | ||
| cotto, ? | 05:09 | ||
| cotto | setting the flags and wrapping VTABLE_mark | ||
| I'm editing as I go. | |||
| naming is tricky | 05:10 | ||
| bacek_at_work | wrapping - gc_ms2_mark_and_sweep. It's similar to current code. | ||
| actually - gc_ms2_bring_them_together | 05:11 | ||
| line 1079 | |||
| cotto | ok | ||
| thanks for the docs | 05:12 | ||
| bacek_at_work | It's just idea how we can implement "fast" GenGC. Current implementation is way too slow. | 05:16 | |
| cotto | how well do the docs reflect the state of the code? | 05:18 | |
|
05:19
rurban_ joined
05:21
rurban left,
rurban_ is now known as rurban
|
|||
| bacek_at_work | cotto, 0% | 05:27 | |
| I just wrote rough idea down for reviewing. | 05:28 | ||
| cotto | I see. That saves me a whole lot of confusion. | 05:31 | |
| bacek_at_work, do you have a paper your algorithm is based off that'd make good background reading? | |||
| bacek_at_work | basically it's based on experience with initial implementation. | 05:32 | |
| github.com/perl6/bench-scripts looks as good foundation for parrot/rakudo benchmarking | 05:35 | ||
| cotto | bacek_at_work, what would be most helpful: code review or review of the proposed design for a new gen gc? | 05:56 | |
| actually, I guess it'd be design review since you're not happy with the code as-is | 05:57 | ||
| luben | I have a question about Parrot_sysmem_amount(). It has platform specific implementation identified at Configure time | 06:06 | |
| cotto | luben, yes | ||
| luben | As I read it, some of the systems (BSD,Darvin etc) return all physical memory installed in the computer | 06:07 | |
| the SysV system return only free memory | |||
| so in SysV the returned memory is All_mem - Buffers - Cache | 06:08 | ||
| In win32 systems the returned value is also some kind of free memory (I could not say if the cache and buffers are considered free) | 06:09 | ||
| What this function is intended to return? The installed memory or free memory? | 06:10 | ||
| I am interested in this function because it is used to establish gc_threshold value (currentrly Parrot_sysmem_amount()/8) | 06:11 | ||
| and I see quite different behaviour regarding the GC | 06:13 | ||
| example: my current system is linux, amd64 with 4G RAM, my free memory is 40M only, but cache is 3G. If I compile rakudo in the state it takes more than 10 minutes | 06:15 | ||
| If I drop the vm cache and buffers, it compiles under 3 minutes | 06:16 | ||
| I think we should make the semantics of Parrot_sysmem_amount() consistent among all platforms | 06:18 | ||
| cotto | luben, sure. The version in config/gen/platform/generic/sysmem.c is what bacek originally added, so you can probably assume that it implements the semantics he was going for. | 06:20 | |
| luben | I think that "All memory installed" will be more apropriate than "Free memory". I'll catch bacek to talk about the issue | 06:21 | |
| bacek_at_work, ping | |||
|
06:24
bacek joined
|
|||
| luben | bacek, ping | 06:24 | |
|
07:19
AzureStone left
07:22
theory left
07:24
fperrad joined
|
|||
| bacek | luben, pong | 07:24 | |
|
07:25
AzureStone joined
07:49
jan left
08:32
zby_home joined
|
|||
| zby_home | seen chromatic? | 08:33 | |
| aloha | chromatic was last seen in #parrot 3 days 2 hours ago saying "After a few hundred tuning commits? Your words hurt me!". | ||
|
08:35
zby_home left
08:36
bacek left
|
|||
| dalek | TT #1597 closed by bacek++: add "provides" for sub/eval/multisub/etc. | 09:21 | |
| TT #1597: trac.parrot.org/parrot/ticket/1597 | |||
|
10:10
lucian joined
10:23
Coke left
10:35
Coke joined
11:36
contingencyplan left
11:52
lucian left
11:55
darbelo joined
11:59
darbelo left,
darbelo joined
12:07
bluescreen joined
13:11
whiteknight joined
13:16
dngor left
|
|||
| dalek | rrot/vtable_func_renames: 8af5029 | (Matt Rajca)++ | / (8 files): Rename public functions in src/vtable.c |
13:16 | |
|
13:17
dngor joined
13:18
rurban_ joined
13:21
rurban left,
rurban_ is now known as rurban
13:25
Patterner left
13:35
Kulag left,
Psyche^ joined
13:36
Psyche^ is now known as Patterner
|
|||
| bluescreen | happy thanks giving | 13:45 | |
| msg whiteknight longjmp of Parrot_exit is not returning where it supposed to, Parrot_exit is being executed twice and so segfault happens | 13:46 | ||
| aloha | OK. I'll deliver the message. | ||
|
14:25
Kulag joined
|
|||
| whiteknight | bluescreen: thanks for the info | 14:26 | |
| I have to figure out why that is happening | |||
| although I'm going to be busy today and most of tomorrow | |||
| bluescreen | i think i know | 14:27 | |
| the problem is Parrot_api_get_last_error | |||
| returns a null 0x0 | |||
| and thats feed into Parrot_api_string_export_ascii | |||
| which calls Parrot_str_to_cstring(interp, string); | |||
| and that throws an expection because the string is null | 14:28 | ||
| whiteknight | ah, that's weird. | ||
| I don't think it should be returning a NULL | |||
| bluescreen | well it returns whatever was the last error message | ||
| since its a normal exit it has nothing to complain about | |||
| and so last_error is NULL | 14:29 | ||
| the default exception its trying to call Parrot_exit again | 14:30 | ||
| and at that point we already executed Parrot exit | |||
| dalek | rrot: 8af5029 | (Matt Rajca)++ | / (8 files): Rename public functions in src/vtable.c |
14:31 | |
| whiteknight | ah. That makes sense | 14:32 | |
| bluescreen | TODO: fix Parrot_api_get_last_error , Parrot_api_string_export_ascii and deal with "exit" opcode | 14:33 | |
| whiteknight | okay, I'm going to have to think about a way to fix that | ||
| bluescreen | yes... that's the last piece of it | ||
| whiteknight | because EXCEPT_exit is a normal flow-control situation | ||
| bluescreen | yes... | ||
| whiteknight | thanks for the analysis! That's extremely helpful | ||
| bluescreen | we have to capture that in the run_bytecode | 14:34 | |
| and return 1 if its a normal exit | |||
| 0 otherwise | |||
| dalek | rrot/exit_func_rename: ea6a288 | sygi++ | src/exit.c: proba |
14:35 | |
| rrot/exit_func_rename: 3215717 | sygi++ | / (6 files): parrot_on_exit->parrot_x_on_exit |
|||
| rrot/exit_func_rename: 1e06e5c | sygi++ | / (22 files): parrot_exit->parrot_x_exit |
|||
| bluescreen | how do you capture the second parameter of longjmp ? | ||
| whiteknight | it's the output of setjmp | 14:37 | |
| bluescreen | mmm.. | ||
| we're screwed | 14:38 | ||
| Parrot_destroy_interp is calling Parrot_exit | |||
| that's the second call | 14:39 | ||
| maybe we shouldn't call Parrot_exit in the parrot_destroy_interp | |||
| or Parrot_exit should know that it was already called | |||
| dalek | rrot: c63fc3e | (Gerd Pokorra)++ | docs/project/release_manager_guide.pod: remove some svn related stuff |
14:49 | |
| rkdown: 99caee8 | fperrad++ | markdown/Compiler.pir: remove CodeString |
15:14 | ||
| rkdown: da6c438 | fperrad++ | markdown/Compiler.pir: more StringBuilder |
|||
| whiteknight | bluescreen: take a look at some documentation for setjmp/longjmp. I won't be able to really look into this until tomorrow, but I think if we do some basic manipulations on the return value from setjmp we can differentiate between a requested exit and an exceptional exit | 15:20 | |
| bluescreen | ok | 15:21 | |
| I pushed a fix | |||
| for segfault | |||
| when calling twice Parrot_exit | |||
| whiteknight | plus, we should probably add error-checking to Parrot_api_string_export_ascii and friends to not go crazy on a NULL STRING input | ||
| thanks! | |||
| bluescreen++ | |||
| bluescreen | I'll try to get this solve | ||
| dalek | rrot/mappedbytearray: 8cb0ea3 | NotFound++ | src/pmc/mappedbytearray.pmc: add ability to open for write, still highly experimental but valid for testing |
15:29 | |
| whiteknight | okay, I'm out for the holiday. Later | 15:31 | |
|
15:31
whiteknight left
15:57
kid51 joined
16:26
nwellnhof joined
|
|||
| cotto | bacek_at_work, ping | 16:43 | |
| msg bacek_at_work I'm thinking through the packfile pmc transition and trying to make it as incremental as possible. How does this sound: | 17:03 | ||
| aloha | OK. I'll deliver the message. | ||
| cotto | msg bacek_at_work nuke current packfile PMCs | ||
| split existing packfile code into separate self-contained files | |||
| make a PMC for each packfile segment that wraps the PackFile_* struct | |||
| use the existing oo-style functions (new_seg, destroy, packed_size, pack, unpack, dump) to implement VTABLE functions in the PMCs | |||
| switch imcc (et al) internals to use the new packfile pmcs | |||
| aloha | OK. I'll deliver the message. | ||
| cotto | move the struct members into separate ATTRs | ||
|
17:05
bluescreen left
17:06
allison left
17:11
cotto left
17:19
bluescreen joined
17:20
theory joined
17:28
TypeNameHere_ left
17:50
nwellnhof left
18:02
M_o_C joined
18:08
lucian joined
18:24
kid51 left
18:26
contingencyplan joined
18:47
jan joined
19:17
fperrad_ joined,
fperrad left,
fperrad_ is now known as fperrad
19:26
kid51 joined
|
|||
| dukeleto | hola | 19:59 | |
| tadzik | aloha | 20:01 | |
| dalek | rrot/mappedbytearray: 2075ff3 | NotFound++ | src/pmc/mappedbytearray.pmc: use common style for open mode parameter, improve mode handling and diagnostics and clean coding std |
20:02 | |
| rrot: 5228f44 | dukeleto++ | docs/project/ (2 files): [docs] Improve some git docs and formatting Adding some information about C<git commit -a> and reformatted some docs to be more copy-paste friendly. |
20:16 | ||
|
20:17
M_o_C left
|
|||
| dalek | rrot/tt532_headerizer_refactor: 883196d | jkeenan++ | / (9 files): Rename lib/Parrot/Headerizer.pm to lib/Parrot/Headerizer/Object.pm. or Parrot::Headerizer::Functions. Tests need to be updated. |
20:19 | |
| rrot/tt532_headerizer_refactor: 778bdb9 | jkeenan++ | / (4 files): Add tests for Parrot::Headerizer::Functions::assert_args(). Rearrange some code for more logical order. |
20:20 | ||
|
20:20
kid51 left
20:41
bluescreen left
20:43
bluescreen joined
20:54
bluescreen left
20:59
fperrad left
21:07
fperrad joined
21:08
bluescreen joined
21:18
jasonmay left
21:19
rurban_ joined
21:21
jasonmay joined,
rurban left,
rurban_ is now known as rurban
21:55
bluescreen left
|
|||
| luben | aloha, git | 21:55 | |
| aloha, workflow | |||
| aloha, gitworkflow | 21:56 | ||
| aloha, gitworkflow is github.com/parrot/parrot/blob/mast...rkflow.pod | 21:57 | ||
| aloha | luben: Okay. | ||
|
22:02
fperrad left
|
|||
| luben | aloha, gitworkflow | 22:07 | |
| aloha, gitworkflow? | |||
| aloha | luben: gitworkflow is github.com/parrot/parrot/blob/mast...rkflow.pod | ||
|
22:09
cotto joined
|
|||
| bacek_at_work | ~~ | 22:28 | |
| GeJ | Bonjour everyone. | ||
| G'Day bacek. | |||
| bacek_at_work | G'Day GeJ | ||
| cotto, current Packfile PMCs are already has ATTRibutes closely mirroring PackFile_* structs. | 22:29 | ||
| luben | bacek_at_work, I have a question | 22:42 | |
| bacek_at_work | luben, shout | ||
| or msg me. I have to run to meeting soon. | 22:43 | ||
| luben | currently the value returnet from Parrot_sysmem_amount() is not consistent between platforms | ||
| some platforms return all installed memory (BSDs) other return free memory (SysV) | 22:44 | ||
| bacek_at_work | Idea was to return free memory. | 22:45 | |
| luben | free memory does not include cahce and buffers | ||
| bacek_at_work | correct | ||
| luben | so we get quite different performance depending on the state of the computer | 22:46 | |
| for example. rakudo compile could vary from 10 minutes to 2 minutes | |||
| with the same used by programs memory with differned cache used by the OS | 22:47 | ||
| I think it's better this function to return all installed memory and to make gc_threshold some smaller fraction of it | 22:49 | ||
| this will give consistent behaviour across platforms and consistent performance between different runs | 22:50 | ||
| dalek | rrot/mappedbytearray: f1ef14b | NotFound++ | src/pmc/mappedbytearray.pmc: add the "supported" method, avoid break compiling when not supported and improve pod doc |
22:51 | |
| NotFound | Can someone build this branch on windows? My XP home has become unable to build parrot. | 22:54 | |
| bacek_at_work | luben, sounds reasonable. | ||
| luben | Ok, I'll make some tests here and later will report my findings. I will need someone to test on windows, because I do not have win32 box | 22:55 | |
|
22:55
darbelo left
|
|||
| NotFound | luben: I suggest adjusting the value if the value seems too small. | 22:58 | |
| luben | the value depend on the system state that could vary in time. e.g I have 4G RAM installed and could have 40M free because 1 have 3G of cache | 23:01 | |
| NotFound | I think we can assume that people trying do execute big programs in machines short of memory will take care of not loading the system too much. | ||
| luben | the system is not loaded | ||
| it WAS loaded before (I was watching a movie) | 23:02 | ||
| so the disk cache is full | |||
| NotFound | luben: I mean, after making your change. If the value obtained by the choosen percentage looks too small, increment it, or use other percantage. | ||
| luben | OK, yes | 23:03 | |
| this is my intention | |||
| now it uses 1/8 of the free memory. I will try with 1/32 of all installed memory and will call for testing | 23:04 | ||
| NotFound | luben: currently the winxed opengl example 'fly' eats 9.9% and makes perceptible pauses if I drop the explicit sweep it has. Wit it, only 0.5% and no pauses. | 23:08 | |
| amd64, 4GB | 23:09 | ||
| luben | currently, it depends also on the ammount of free memory | 23:10 | |
| NotFound | Right now, more than 2 GB free | 23:11 | |
| luben | so, current gc_threshold is more than 512M, so every gc run takes longer | 23:12 | |
| I am compiling a branch now and I will push it in minutes for testing | 23:13 | ||
| NotFound | The effect of the gc run is clearly viewable, maybe 0.5 seconds. | 23:14 | |
| On the positive side, it uses a lot less CPU without the sweep. | 23:21 | ||
| luben | may be we could make a commandline parameter to adjust the fraction used for gc_threshold - different programs have diffenend needs | ||
| bigger gc_threshold - better throutput | 23:22 | ||
| smaller gc_threshold - better interactive behaviour | |||
| NotFound | We can add it as experimental and let people play with it. | ||
| luben | yes. there was gc_threshold param now (still in parrot -h) that we could use | 23:23 | |
| dalek | rrot/luben/gc_threshold_adjust: 441de0b | luben++ | / (3 files): use fraction of installed memory as gc_threshold |
23:32 | |
| luben | NotFound, could you test the new branch with OpenGL fly example? Next I will try to make commandline param for the fraction | 23:33 | |
| NotFound | building it... | 23:37 | |
| 3.9% memory usage, pauses are shorter but more frequent. | 23:39 | ||
| luben | I am making now commandline param in order to make in adjustable | 23:43 | |
| NotFound | I'll test it tomorrow, now I'm going to bed. | 23:49 | |