Skip to content

Improve pipeline for native commands #559

Closed

Description

@vors

Consider

ping -c 4 ya.ru | grep 64

Run it in PS and in bash. Compare UX.
In PS output of ping is collected, then it's passed down the pipe all together.
In bash you see output of grep instantly after ping send one line to the pipe.

As Bruce Payette (@BrucePay) pointed out it never appeared to be a problem on windows due to the lack of pipeable native command-line tools.

As a minimum, we should sort out this buffering flow.
Desirable: improve pipe speed for certain cases (i.e. native command to native command).

Open question: can we use a native pipe to provide a compatible speed, when pipeline doesn't involve PS commands?

Activity

  1. added
    Usability(LEGACY) Helps filter issues that might be higher priority because they directly affect usability
    on Feb 20, 2016
  2. added this to the milestone on May 4, 2016
  3. modified the milestones: v0.5.0, on May 11, 2016
  4. modified the milestones: v0.7.0, Aug17 on Jul 3, 2016
  5. self-assigned this
    on Jul 3, 2016
  6. 21 remaining items

  7. vors commented on Sep 12, 2016

    @vors
    CollaboratorAuthor

    I'm going to narrow scope if this issue just to the first part:

    Move start of native executable from pipeline Complete() method

    For the native | native part, we will use #1908

  8. vors commented on Sep 12, 2016

    @vors
    CollaboratorAuthor

    Doing this work, I'm constantly having problems because of #1486
    Since this change will affect a lot of code paths, I'd like to extensively run "Feature" tests locally in different systems and make sure that I don't introduce regressions. I'm considering this work blocked on #1486 and moving it to the next milestone to fix our test harness first.

  9. joaoe commented on Nov 24, 2019

    @joaoe

    Does the fix work for the use case with fd redirection ?

    command 2>&1 | other
    

    PowerShell also mangles output when redirecting file descriptors.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Issue-Enhancementthe issue is more of a feature request than a bugResolution-FixedThe issue is fixed.Usability(LEGACY) Helps filter issues that might be higher priority because they directly affect usabilityWG-Enginecore PowerShell engine, interpreter, and runtime

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions