Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 12:01
    Svek commented #41307
  • 10:24
    pramodsenevi starred dotnet/corefx
  • 04:39
    tnlthanzeel commented #38579
  • 03:19
    wfurt reopened #42634
  • 03:19
    wfurt commented #42634
  • 03:19
    wfurt demilestoned #42634
  • 03:19
    wfurt milestoned #42634
  • 02:11
    curtiskwong9 starred dotnet/corefx
  • 01:41
    ahsonkhan closed #37156
  • 00:31
    MattGal commented #38498
  • 00:19
    ViktorHofer commented #38498
  • 00:13
    ahsonkhan reopened #38498
  • 00:13
    ahsonkhan commented #38498
  • 00:10

    mmitche on 3.1

    [release/3.1] Switch to using 3… (compare)

  • 00:10
    mmitche closed #42757
  • 00:03
    ericstj commented #42757
  • 00:03
    ericstj review_requested #42757
  • Dec 06 23:06
    MerickOWA commented #39314
  • Dec 06 22:46
    mjrousos commented #42641
  • Dec 06 22:18
    wfurt closed #42634
CyrusNajmabadi
@CyrusNajmabadi
S.IO.Pipelines exists so that when certain domains could benefit from it, they can use it.
for example, say this is a bottleneck for openssl
and htis is impacting your server scalablity, now there's a way forward.
and I want to understand
ok. so which bits aren't really clear currently?
Joseph Musser
@jnm2
I find it more useful to use a library than to reimplement it if my goal is to understand it
Michał Zegan
@webczat
@scalablecory I don't think they allocate new buffers per packets. I think they have one. but not sure
CyrusNajmabadi
@CyrusNajmabadi
i'd say, primarily, the purpose of S.IO.Pipelines is twofold:
  1. simply and scalably handle backpressure.
  2. provide a very low overhead, yet clean, API for reading/writing stream data.
both of which are important in things like scalable servers.
Michał Zegan
@webczat
@jnm2 the thing I learned the most about were always things i wrote or tried to write or played with them by hand
CyrusNajmabadi
@CyrusNajmabadi
sure. so try to write this by hand :)
Michał Zegan
@webczat
if I learn to use perf tools then I will either write this by hand or read the pipeline code
CyrusNajmabadi
@CyrusNajmabadi
i would def recommend it as something you do yourself if you're interested in this space.
Michał Zegan
@webczat
well I don't need to learn perf tools when I only want to read pipelines code... but I finally need to learn how to use them
Michał Zegan
@webczat
sure.
will just choose what is better for me. or possibly do both
Cory Nelson
@scalablecory
it's essentially just buffer management + i/o scheduling for efficient streaming from one pipe to another.
CyrusNajmabadi
@CyrusNajmabadi
what i think is very nice is the composability of it. you could have several pipelines queued up together
with super simple methods to connect them
and you don't have to worry about accidentally blocking threads in your server.
i'd also augment what @scalablecory said by adding: "Well tested" :)
Michał Zegan
@webczat
well... actually it is underlying kestrel from what I've heard
so would be surprised if it was not well tested
does anyone know what is the difference between perf and lttng? are they doing different things, or...
CyrusNajmabadi
@CyrusNajmabadi
not certain what you're referring to :)
Michał Zegan
@webczat
linux performance analysis tools that are supposed to work with .net core
Michał Zegan
@webczat
the problem here is I cannot probably use dotnet trace. I am blind so, well, non visual. I need another form of output than, for example, graphs.
Cory Nelson
@scalablecory
@webczat do you have any resources you can link on what formats would be ideal?
Michał Zegan
@webczat
the problem hre is I have never used any kind of profiler yet. I was a java guy before and I didn't have any workable tool until java mission control went opensource.
Michał Zegan
@webczat
and I don't know perf-view on windows so not sure if it works for me. I am a linux desktop guy but it would be good for comparing
Michał Zegan
@webczat
so gui profilers may sometimes work, but they would need to be done in something I can use. so perf-view is something to test on windows, but what on linux? alternatively something I can process in linux console.
Michał Zegan
@webczat
about directly using perf and lttng, not sure
Michał Zegan
@webczat
how long after release are the documentation stuff like apidocs updated?
and second unrelated question: I wonder why System.Range does not implement IEnumerable<int> or something along the lines to allow doing things like foreach (var i in 1..50) or such like?
for me it seemed natural if there are ranges and range syntax even if the intended usage is a bit different
Wraith2
@Wraith2
there's an issue for that, dotnet/runtime#462
Michał Zegan
@webczat
well
I actually came into the problems stated there, like 1..^1 is what the hell?
but it almost comes to mind by itself when you see the type called System.Range
Christian Schieder
@ChristianSchieder
@Wraith2 i opened up an issue like you suggested almost an week ago in the corefx repo under #42706 but then a lot happened and i'm not quiet sure if this was already fixed when the runtime repo got launched or if i should open up the issue there again. can you maybe provide some info on that please
Wraith2
@Wraith2
wrong repo, corefx is closed, I've asked for someone with permissions to put it in the sqlclient repo.
Christian Schieder
@ChristianSchieder
@Wraith2 yeah i posted it in there, and a few days later the repo was closed... thats considered bad luck i guess otherwise i'd put it in the other repo
John Moreno
@jrmoreno1
Is Microsoft.AspNetCore.Http 2.2 being updated to 3.1 or 3.0?
Cory Nelson
@scalablecory
@jrmoreno1 we've moved away from individual packages and bundle them in-box now.
Paul M Cohen
@paul1956
I just noticed VS 16.5 Preview 1 supports Core 3.1 VB WinForms, nice.
Can anyone point me to an App.Config sample file for .NET Core 3.1 for VB settings defaults. I have 2 App.Config file that both reference Framework 4.7.2.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <configSections>
        <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
            <section name="CSharpToVBApp.Settings" type="System.Configuration.ClientSettingsSection, System.Configuration.ConfigurationManager, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
        </sectionGroup>
    </configSections>
    <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2"/>
    </startup>
    <userSettings>
        <CSharpToVBApp.Settings>
              <setting name="SkipAutoGenerated" serializeAs="String">
                <value>True</value>
            </setting>
          </CSharpToVBApp.Settings>
    </userSettings>
</configuration>
Wraith2
@Wraith2
looking at the results of a profiled sql query https://user-images.githubusercontent.com/13322696/69499638-12e09400-0eec-11ea-8f68-cd951aacda7c.PNG I wonder if it's possible to reuse task completion sources somehow. ValueTask in .net5 or an IValueTaskSource might let me get rid of the tasks but not when they're created by a TCS
Cory Nelson
@scalablecory
@Wraith2: not without adding a new API to TCS and/or making some Task APIs public