Just this once .. here's the log: http://www.linuxcnc.org/irc/irc.freenode.net:6667/emcdevel/2010-03-12.txt
argh, I can't find my memory leak
no pun intended :)
it will be the last place you look!
EMC: 03jepler 07master * re3f88a00e382 10/ (bin/profile_axis configs/sim/profile_axis.ini): make it easier to profile axis
EMC: 03jepler 07master * r7b83d18cb287 10/src/emc/usr_intf/axis/scripts/axis.py: get rid of unneeded import
EMC: 03jepler 07master * rc4958f8b2dc6 10/lib/python/rs274/ (glcanon.py interpret.py): remove unneeded initializations
EMC: 03jepler 07master * rae44e7ac5d9c 10/lib/python/rs274/glcanon.py: remove redundant method
EMC: 03jepler 07master * r217bb65cbe66 10/src/emc/rs274ngc/gcodemodule.cc: Remove unneeded offsetof hack
EMC: 03jepler 07master * r76aa1b1e736a 10/src/emc/rs274ngc/gcodemodule.cc: correct error message
EMC: 03jepler 07master * r94d74594d6f6 10/src/emc/usr_intf/axis/scripts/axis.py: a redraw is required after the rotation changes
EMC: 03jepler 07master * r5a34cb731121 10/lib/python/rs274/glcanon.py: make it always legal to call extents_info
EMC: 03jepler 07master * r5ca9e2585a5e 10/lib/python/rs274/glcanon.py: simplify since it's always OK to call extents_info
EMC: 03jepler 07master * r98f2639aa3a3 10/src/emc/usr_intf/axis/scripts/axis.py: get rid of redundant code
EMC: 03jepler 07master * rc9e4da623001 10/lib/python/ (glnav.py rs274/glcanon.py): move methods to base class
EMC: 03jepler 07master * rddc50bd79d85 10/ (3 files in 3 dirs): make my editor use the right settings
EMC: 03jepler 07master * r94a8d2be35c1 10/src/emc/rs274ngc/gcodemodule.cc: wrap long lines
EMC: 03jepler 07master * rfbddf7e4e89b 10/src/emc/usr_intf/axis/scripts/axis.py: make the preset view buttons react to a rotate
EMC: 03jepler 07master * r81a7b0c428a1 10/lib/python/glnav.py: rotate should snap into perspective mode
EMC: 03jepler 07master * r957d57a884ad 10/lib/python/rs274/glcanon.py: get rid of dead code
EMC: 03jepler 07master * r15a3782828b1 10/lib/python/rs274/glcanon.py: reduce memory usage of display lists
EMC: 03jepler 07master * r47459e452750 10/lib/python/rs274/glcanon.py: fix display of origin when rotated
actually it wasn't a memory leak. I was generating more stuff than I expected, so memory usage was worse than the baseline .. but not because of a "leak" per se
ok, my patch gives about 2.5 times speed up of reload_file for my test file (14.840 -> 5.747). making arcsegment accept list lowers it to 5.575.
this is with xy_rotation applied
aystarik: try this gcode: http://filebin.ca/usmhat/v60.iso
micges: best is 6.113
still some speedup
here 4 sec on master before any speedup patches :)
re: list to arcsegment -- is there a need to deref it after call?
hmmm, git branch -r shows origin/v2.4_branch but git checkout v2.4_branch gives me an error pathspec did not match
then it says did you forget to git add?
JT-Dev: if it's the first time you're checking out v2.4_branch, then you need to: git checkout -b v2.4_branch origin/v2.4_branch
as for the other message, I dunno
aystarik: I'm a little surprised that the numeric stability of repeatedly rotating by theta is OK, but a little test shows that it is..
doubles are forgiving...
here's my profiling data, then I'm off to the office .. http://emergent.unpy.net/files/sandbox/emc2-arc-profiling-data.txt
cool, almost 3 times speedup
did you see the last patch to update axis with current rotation?
yeah, isn't it the same as 47459e452750a822f1e823fdf0fe81f81850a401 (which I pushed less than 12 hours ago)
thanks for catching the order of operations bug in my code; I was obviously testing with zero translations
aystarik: can you try run gcode I've pasted?
micges -- I already told you numbers for it, remember?
aystarik: not load, run it in simuator :)
I have bug here and want to confirm
jepler, is there need to DECREF list?
aystarik: you asked a question about reference counting. Here's how to find the answer: http://docs.python.org/c-api/object.html#PyObject_CallMethod
says The C arguments are described by a Py_BuildValue() format string; that functions documentation says Pass a Python object untouched (except for its reference count, which is incremented by one).
so yes, when you passan "O" through PyObject_CallMethod it isn't stealing the reference so typically you have to Py_DECREF it
it was missing in your code, so I tried to understand...
micges, should I wait for it to complete?
aystarik: where in my code? You mean, because my code was structured to return the list, not use PyObject_CallMethod?
or is there a refcounting bug in my code
I am not python programmer, so ask stupid questions...
I updated http://emergent.unpy.net/files/sandbox/emc2-arc-profiling-data.txt
with a profile that does your repeated rotation instead of sin+cos in inner loop, but it didn't get fast. Item 3.5.
and now I really need to go to the office and do the job that pays the bills
see you later
latest changes pushed to my personal git tree as noted in that file
there are days when I really hate software
only some days?
micges: lost 4h today debugging a strange issue with some proprietory software
actually my email client
seems it wants to act smart, and looks at files I attach, when it sees a lot of ASCII it decides to encode it as quoted-printable instead of base64
which wouldn't be a problem per se, but yahoo and google and other likewise smart email clients decide to replace 0x0A 0x0D with 0x0D
what? a proprietary email client?
which for a binary file is bad
cradek: I know, I know.. but I got about 8yrs of email in there
switching to thunderbird didn't quite work out as good as I hoped
the 8-yrs-ago you must not have been very smart then :-P
I switched from outlook express to thunderbird... 7 years of emails
I broke out each year into an archive before the tranfer - it wouldn't do it in one big folder.
skunkworks_: yup, OE here too
there's a piece of proprietary software that apparently is very good at migrating emails between different MUAs. It might be worth the one-time hit
cradek: they did update it 2008 or so
skunkworks_: I have lots of folders
~8GB in 155 folders
alex_joni: what was wrong on TB mail import?
ah - I only had 2.14gb of emails...
micges: well.. it worked eventually, but there were little details that annoyed me on TB
just like I didn't liek Outlook
or the new Live Mail
that one is really bad (performance wise)
yes I saw it, it's crap
I don't particularly like TB either. I'm using SeaMonkey now (finally upgraded from Mozilla 1.7.x in the last 6 months)
I keep meaning to take a serious look at notmuch or sup, but mutt + separate full-text indexing is nice too.
of course, that assumes you are content with a text-mode mail client
it's funny. I prefer it when people use plain text in their emails, but I like the presentation of text emails better a graphical client
things like graying or italicizing quoted text, along with a gray bar at the left
I can't stand it when I get a 12k email that says something like "Hi - you want to have lunch?"
the other 11.9k being the stupid formatting shit that OE sticks in there
oh, who cares if an e-mail is 12k or 1k to say one line of text.. you never see it
me, me! :)
but heaven forbid some fuzzy thinker should actually be able to display red or large text on my screen without my sayso
I gave up on IE because everytime you had a email folder bigger than 1gb - you couldn't compact them anymore.
TB has been serving me pretty well. No big complaints. I like the calender addon - (lightning) because it is compatable with the outlook calender.
IE never had such a utillity.
we gave up OE becaouse large amount of emails ofter caoused to email database broke and all email was lost
mail should be stored in a structure no more complicated than mbox or maildir
binary-format metadata is acceptable ONLY IF it is an optimization and can be rebuilt from the underlying mail
so-called "enterprise" mail systems (for instance where there is just one copy of an attachment that some idiot sent to everyone in the company) seem like they could be a good idea. Too bad nobody has managed to do it right, yet...
Actually, I think Novell's GroupWise was about as close to perfect as anyone has gotten in that realm
and it was very very good
explode the MIME structure into a directory structure for each message (call it 'mimedir'), then use hard-link magic on any big files
you could un-send things that hadn't been read yet. it had excellent markup abilities along with audit trails, it did the "single storage" thing for attachments (and emails I think)
sorry no, groupwise was a piece of shit
so - we got some the older style opto22 16 port boards cheap(4) (we have a ton of opto22 input modules) and the cards are made to have an edge connector. well - it just so happens that the old floppy drive edge plug will work great - I can make up cables that go between that and the 50 pin scsi cable.
I guess it depends on whether you were evaluating it for possible use, using it, or administering it :)
(I only did the first two, and not for long ;) )
ok, time to bring the tax check to the accountant bbl
it did the dumbass trick of accepting a message, then responding to whoever was listed in "From" if it thought it was spam for YEARS after everyone knew not to do this
it would bomb if you sent it mail too fast, so I hid it behind a sendmail machine which would patiently give it one message at a time
(also insert a "haha netware haha" here somewhere too)
... but the snake was cool
skunkworks_: does that end up wired right? that's pretty slick.
yes - the ground is on one side - logic on the other.
splitting them out for mutible boards might take a little thinking.. 16 doesn't go into 24 very well ;)
I have not counted all the inputs yet though.... I know I need atleast 27 outputs.
I bet you always need more than you think
yes - I am thinking 2 boards are going to be needed
going to need 15 inputs just for the toolreader.. ;) (could use the printer port for that I guess... (if I could turn it into all input)
if you had 3 5i20 you'd have 9 plugs. you could use 8 plugs for 12 of your 16 bit opto boards... otherwise I think you can't make it come out even.
you'd have plenty of I/O, that's for sure.
2x24 = 3x16
oh sure, use your fancy math
I just reduced your big fraction...
I think there are 32 output module racks as well
I have 1 24 port one that plugs right in - awesome.
I luckily ended up with three of those for jr.
so mill a little adaptor with two 50 pin headers and 3 x 34
I'd just lazily get some ribbon and crimp up the cables appropriately
that is my plan.
Ya, you dont use the cable +5 its should be do-able just by crimping 2 50pin headers on the 3x 34 floppy pin cables
(if you dont)
maybe a single strand 2-3 Y for the +5V cable power
my inital plan is to crimp the connectors so the 5 volts powers on 16i/0 board and then jump to the rest (they have screw terminals also)
*on = one