On Sunday, May 5, 2019 at 12:04:32 PM UTC-7, Andrey Novoseltsev wrote:
>
>
> It seems to me that the best fix for the current situation is to prohibit 
> using files completely. Any reasons NOT to do it?
>
> One reason is that pexpect has a rather high per-character overhead, so 
when sending over *lots* of data, it can get really slow. Writing to a file 
can be much faster in those cases. When using the interface "manually", it 
may not feel so strange to incur this penalty, but the idea of the 
interface was that it could also be used internally, to seamlessly delegate 
computational tasks to gap without the user explicitly asking to use an 
interface. Then one may end up sending over quite substantial data (for a 
matrix group, or something like that). The stateful design of the 
interfaces allows this to happen without undue communication over the 
interface: once the object has been created in Gap, it can be referenced 
via its proxy instance in sage, which knows which gap variable to reference 
to get access to the object. But the first instantiation turns out to have 
a measurable impact in many cases.

Interfaces are not designed for interactive work, in particular not for 
creating side effects like printing to the console. You can print the proxy 
object if you want. I'd say the best way to get consistent behaviour is to 
not rely on implicit printing by the REPL.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to