<p dir="ltr">Could it be because of a different  environment? In particular, a different PATH could make a difference of that scale.<br>
Try running "env" in both ways, and compare.</p>
<div class="gmail_quote">Den 29/07/2013 16.31 skrev "Michał Ptaszek" <<a href="mailto:erlang@ptaszek.net">erlang@ptaszek.net</a>>:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">Hey, <div><br></div><div>I am trying to run some shell commands from Erlang, using os:cmd/1:</div><div><br></div><div>  os:cmd("cat /tmp/huge_file | grep 'some_regexp' | sort -u > /tmp/output_file"). </div>

<div><br></div><div>Where huge_file is ~4GB big, the output_file is expected to occupy ~150MB on disk. When running this command from Erlang it takes ~45-50 minutes to create the output file, however when ran directly from the shell (bash) everything happens within 10 minutes.</div>

<div>It's not a matter of FS cache (I "echo 3 > /proc/sys/vm/drop_caches" right before each test), or external load (it's a physical machine, completely idle during the test). Erlang version: R16B. </div>

<div><br></div><div>My question here is not "how to do it?", but rather "why os:cmd/1 is so inefficient?", even though the output returned to the caller is empty (stdout is redirected to the disk file, there are no stderr printouts). Or maybe I'm doing something entirely stupid that should be avoided... </div>

<div><br></div><div>Any clues/hints? </div><div>Thanks, </div><div>Michal </div></div>
<br>_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
<br></blockquote></div>