Hi, so it seems a lot of stories of people trying to build Sage on constrained devices include something like: "the most time was spent building libm4rie all of which pretty much is waiting for swap".
So let's take a harder look at M4RIE. The file in questions is - as far as I can tell - conversion.c: https://bitbucket.org/malb/m4rie/src/97a12b045567/src/conversion.c The job is does is pretty boring: it converts one matrix representation to another. In particular given words like a0a1a2a3 b0b1b2b3 it will produce words a0b0.... a1b1.... and so on. So it's just bit fiddling. We want that to be fast and hence this stuff is pretty unrolled. We also want that to be readable so it makes uses of static inline functions and so on. Options: = Disable Optimisations = I don't know if disabling optimisations for this file is an option: (a) I'm not 100% how to code this autoconf, but it cannot be that hard (b) we actually *want* this code to be fast, so we'd like to drop useless optimisations and keep the good ones We could also add an option to configure which switches optimisations off for this file? = Split up the file = This can easily be done, its functions all handle different cases and do not interact. Volker suggested it might not make much of a difference because GCC optimises beyond file boundaries but if we actually produce different .o files, this should work? Of course, the larger functions like _mzd_cling16 might still be a bottleneck. I don't know to break those up Any other options? Cheers, Martin -- name: Martin Albrecht _pgp: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x8EF0DC99 _otr: 47F43D1A 5D68C36F 468BAEBA 640E8856 D7951CCF _www: http://martinralbrecht.wordpress.com/ _jab: martinralbre...@jabber.ccc.de -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To post to this group, send email to sage-devel@googlegroups.com. To unsubscribe from this group, send email to sage-devel+unsubscr...@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel?hl=en.