Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Mar 07 17:29
    @directhex banned @CharlieIsHere
  • Oct 11 2018 17:23
    @directhex banned @deleteaccount1234567890
Phil Jaenke
@rootwyrm
So if the Olson database deprecates it in the future, the tests will break again. Because time zones are hell.
Alexander Köplinger
@akoeplinger
sure, but we can fix it once that happens
let's just fix what is broken right now
Phil Jaenke
@rootwyrm
Sounds like a plan.. I do see a sensible way to fix it 'right' but given my lack of C# experience, probably inadvisable in the short term.
Filip Navara
@filipnavara
@EgorBo btw, there is BDN PR for fixing the in-process iterations which were crashing some of the benchmarks. It will likely take few days to propagate it all the way through git, Nugets, etc. before it gets picked up by dotnet/performance..
Egor Bogatov
@EgorBo
great news anyway :smile:
I currently use the default (non inprocess) mode with --llvm jit
Filip Navara
@filipnavara
I gave up on that, it was too slow (but somehow it looks like it improved now)
Egor Bogatov
@EgorBo
the latest results are quite promising
Zoltan Varga
@vargaz
so do we have any benchmark results comparing master to like 2 weeks ago ?
Egor Bogatov
@EgorBo
I'll run some old revision after the current iteration with the same parameters (Release, MONO_THREADS_SUSPEND=preemptive mode, etc)
Filip Navara
@filipnavara
I do have logs on my pipelines but I only tried the
LLVM builds recently so nothing for comparison except regular Mono
(still didn't get to produce nice charts :/)
Filip Navara
@filipnavara
I can run the pipelines on historical Mono builds though, if needed
Zoltan Varga
@vargaz
just want to know whenever the stuff we are doing made any real difference.
Egor Bogatov
@EgorBo
we need jit diff tools :smile: you change something (e.g. add a new pass) then run some projects with mono --llvm --compile-all -v -v -v -v (before and after the change) and get a diff (how many and which methods were modified). The CoreCLR folks use such tools for all jit related PRs
Filip Navara
@filipnavara
anecdotal evidence says that the recent optimizations helped (based on aggreagate numbers from the pipeline runs) but I didn't wire up ResultsComparer yet to see how big the difference is and where it helped.
It is very high on my todo list to produce that.
Egor Bogatov
@EgorBo
Also I guess it's important to measure time LLVM JIT spends
that's why I didn't just copy the -O2 set of opt for LLVM JIT
coypoop
@coypoop
Is it expected that Mono requires WX memory mappings, or is that a platform specific issue?
Alexander Köplinger
@akoeplinger
it's needed for the JIT
coypoop
@coypoop
thanks!
Alexander Köplinger
@akoeplinger
there's an issue that I'm just about to file when you compile with XCode 11 beta6 on macOS Catalina though
Filip Navara
@filipnavara
The back of the napkin math shows that last Mono+LLVM failed only after 7 minutes while the previous run failed after 50 minutes. I wonder whether the benchmark order is somehow randomized but I don't think so.
Egor Bogatov
@EgorBo
@vargaz I think Vector128<T>.Count and Vector256<T>.Count can also be made intrinsics (despite the fact we don't support them yet)
Vector128<T>.Count = 128 / (sizeof(T) * :sunglasses:
Zoltan Varga
@vargaz
code which uses it is inside an if (SSe.Supported) so it gets dead-code eliminated.
Callum
@CallumDev
Latest mono on arch (6.0) is throwing /usr/lib/mono/msbuild/15.0/bin/Microsoft.CSharp.CurrentVersion.targets(331,5): error MSB4019: The imported project "/usr/lib/mono/msbuild/15.0/bin/Roslyn/Microsoft.CSharp.Core.targets" was not found. on all projects
since Microsoft.CSharp.Core.targets is not there
Calvin Buckley
@NattyNarwhal
oh fuck
the build server's timing out since i reduced its CPU allocation
Phil Jaenke
@rootwyrm
Uuuuuuugh...
    System.IO.Tests.File_ReadWriteAllBytesAsync.ProcFs_NotEmpty(path: "/proc/meminfo") [FAIL]
      System.IO.FileNotFoundException : Could not find file "/proc/meminfo"
Calvin Buckley
@NattyNarwhal
i mean not helping some tests just take the full timespan allocated for them BUT THAT SHOULD BE ENOUGH
ahh yes, my favourite actor, Jurgen Procfs
Phil Jaenke
@rootwyrm
Bad programmer, no cookie!!
Phil Jaenke
@rootwyrm
I don't even know where to begin looking for that bad Linux-ism, because the stack trace is just such a mess.
Calvin Buckley
@NattyNarwhal
it's async, so it could be far worse
Phil Jaenke
@rootwyrm
Well on the plus side, the origin of the stack is System.IO.Tests.File_Delete.Windows_File_Already_Open_Throws_IOException [FAIL]
Something tells me that test shouldn't be run on non-Windows for some reason.
Calvin Buckley
@NattyNarwhal
can someone adjust the timeouts for the aix builder to be a bit longer? it only has one core of a POWER7 due to other systems on that system
i'll try to see if i can't get uh, less overactive systems
until then i'm going to send myself into the esxi meat grinder
Adam Brown
@audrummer15
Does anyone know the proper way to handle building projects with mono/msbuild that have a text templating target such as this one? <Import Project="$(VSToolsPath)\TextTemplating\Microsoft.TextTemplating.targets" />
Or just how to skip that import when building with mono?
Adam Brown
@audrummer15
For anyone who might come across this, my solution was simply: <Import Project="$(VSToolsPath)\TextTemplating\Microsoft.TextTemplating.targets" Condition="Exists('$(VSToolsPath)\TextTemplating\Microsoft.TextTemplating.targets)')" /> Thanks for an awesome project
Calvin Buckley
@NattyNarwhal
i wanna see consistent graphs again, i should just allocate those cores back ;_;
Jay Krell
@jaykrell

mono-codeman.c:

        /* Try to allocate code chunks next to each other to help the VM */
        ptr = NULL;
        if (last)
            ptr = codechunk_valloc ((guint8*)last-&gt;data + last-&gt;size, chunk_size);
        if (!ptr)
            ptr = codechunk_valloc (NULL, chunk_size);
        if (!ptr)
            return NULL;

Which VM?
The kernel virtual memory manager or the Mono virtual machine?
The kernel virtual memory manager surely will help itself most with NULL there.
I imagine it is the map32bit stuff for amd64, so the Mono virtual machine.
Comments should/could be clearer imho.
As well, only systems that use the map32bit stuff should have this logic, I think.