Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

- Convert SumF functions for Array, Span, and List into a generic function #20

Open
wants to merge 30 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
30 commits
Select commit Hold shift click to select a range
666f1fa
- Convert SumF function into a generic function
Jul 30, 2019
cf405ac
SumF for an Array
Jul 31, 2019
4eb6b16
- Split the Sum types out
Jul 31, 2019
71459b2
- Fix float selector special case
Jul 31, 2019
8ee3849
[Enhancement] Can these API's also work on IList<T> #15
Jul 31, 2019
cb6ce9d
- Add Nullable types for List and IList
Jul 31, 2019
d6a2542
- Use "IList fast redirect" to implement all average Base and Nullabl…
Jul 31, 2019
3ecde38
- Complete base types applicable to Span<T>
Jul 31, 2019
e93f373
Fix #21: [Bug] `Span SumF` is slower than a for loop over a span
Aug 1, 2019
fed5794
[Enhancement] Can these API's also work on IList<T> #15
Aug 1, 2019
d3b706e
[Enhancement] Can these API's also work on IList<T> #15
Aug 1, 2019
1e464b9
Investigate #22: [Question] Span_FirstF and List_First are slower tha…
Aug 2, 2019
81c2a40
Investigate #22: [Question] Span_FirstF and List_FirstF are slower th…
Aug 2, 2019
b762eff
Investigate #15: [Enhancement] Can these API's also work on IReadOnly…
Aug 5, 2019
ac38801
More for #15: [Enhancement] Can these API's also work on IReadOnlyLis…
Aug 5, 2019
57932a1
Initial commit for #24: [Enhancement] DefaultIfEmptyF should be imple…
Aug 5, 2019
c7652e0
MaxF's for #15 : [Enhancement] Can these API's also work on IReadOnl…
Aug 6, 2019
54e72fa
MinF's for #15 : [Enhancement] Can these API's also work on IReadOnl…
Aug 6, 2019
c3669bf
WhereSumF's for #15 : [Enhancement] Can these API's also work on IRe…
Aug 6, 2019
ce954e2
- Note: Lists can have items added and removed whilst these API's are…
Aug 6, 2019
3bafae3
Invesigate #25: [Enhancement] Please also target .net4.8 and Benchmark
Aug 7, 2019
9c9dd9d
Investigate #25: [Enhancement] Please also target .net4.8 and Benchmark
Aug 7, 2019
fb43c8c
Investigate #21: [Bug] Span SumF is slower than a for loop over a span
Aug 8, 2019
25c68fc
- Attempt to fic AppVeyor
Aug 8, 2019
064760c
- Another Attempt to satisfy Appveyor
Aug 8, 2019
66e84c4
- Appveyor again - Reset the bindingRedirects
Aug 8, 2019
1963489
- Look Apveyor Use the correct system.memry version will ya !
Aug 8, 2019
37f256c
- (Maybe) Seems like the App.config is being ignored, so be explicit …
Aug 8, 2019
5927bcb
- Fix weird "Sometimes failing" test that show aggressive inlining do…
Aug 8, 2019
5db00ad
- test the unit Test Again !
Aug 8, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Investigate #21: [Bug] Span SumF is slower than a for loop over a span
Create #22: [Question] Span_FirstF and List_FirstF are slower than just calling foreach -> Why?
Span this #24: [Enhancement] DefaultIfEmptyF should be implemented
Add Span #25: [Enhancement] Please also target .net4.8 and Benchmark
  • Loading branch information
Smurf-IV committed Aug 8, 2019
commit fb43c8c7025a61e56d16d7d6769e3a8a588492fd
1 change: 1 addition & 0 deletions Benchmarks/BenchmarkAggregate.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 5,7 @@
using BenchmarkDotNet.Configs;

using JM.LinqFaster;
using JM.LinqFasterSpan;

namespace Tests
{
Expand Down
1 change: 1 addition & 0 deletions Benchmarks/BenchmarkFirst.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 5,7 @@
using BenchmarkDotNet.Configs;

using JM.LinqFaster;
using JM.LinqFasterSpan;

namespace Tests
{
Expand Down
1 change: 1 addition & 0 deletions Benchmarks/BenchmarkLast.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 5,7 @@
using BenchmarkDotNet.Configs;

using JM.LinqFaster;
using JM.LinqFasterSpan;

namespace Tests
{
Expand Down
1 change: 1 addition & 0 deletions Benchmarks/BenchmarkSum.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 5,7 @@
using BenchmarkDotNet.Configs;

using JM.LinqFaster;
using JM.LinqFasterSpan;
using JM.LinqFaster.SIMD;

namespace Tests
Expand Down
1 change: 1 addition & 0 deletions Benchmarks/BenchmarkWhereSum.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 5,7 @@
using BenchmarkDotNet.Configs;

using JM.LinqFaster;
using JM.LinqFasterSpan;

namespace Tests
{
Expand Down
4 changes: 4 additions & 0 deletions Benchmarks/Benchmarks.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 127,10 @@
<Project>{050c43b5-4a4f-45d9-be0c-9b2a6acc189e}</Project>
<Name>LinqFasterSIMD</Name>
</ProjectReference>
<ProjectReference Include="..\LinqFasterSpan\LinqFasterSpan.csproj">
<Project>{68835792-9274-4ddc-8312-29700ef16f62}</Project>
<Name>LinqFasterSpan</Name>
</ProjectReference>
<ProjectReference Include="..\LinqFaster\LinqFaster.csproj">
<Project>{5b2f0f9f-6dda-4f06-a999-26e43ae04f86}</Project>
<Name>LinqFaster</Name>
Expand Down
1 change: 1 addition & 0 deletions Benchmarks/BenchmarksMax.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 5,7 @@
using BenchmarkDotNet.Configs;

using JM.LinqFaster;
using JM.LinqFasterSpan;

namespace Tests
{
Expand Down
1 change: 1 addition & 0 deletions Benchmarks/BenchmarksMin.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 6,7 @@

using JM.LinqFaster;
using JM.LinqFaster.SIMD;
using JM.LinqFasterSpan;

namespace Tests
{
Expand Down
5 changes: 1 addition & 4 deletions Benchmarks/Config.cs
Original file line number Diff line number Diff line change
@@ -1,8 1,5 @@
using System;
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Jobs;
using BenchmarkDotNet.Toolchains;
using BenchmarkDotNet.Toolchains.CsProj;

namespace Benchmarks
Expand Down
19 changes: 19 additions & 0 deletions BenchmarksCore/BenchmarksCore.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 13,24 @@
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>

<ItemGroup>
<Compile Include="..\Benchmarks\BenchmarkAggregate.cs" Link="BenchmarkAggregate.cs" />
<Compile Include="..\Benchmarks\BenchmarkAverage.cs" Link="BenchmarkAverage.cs" />
<Compile Include="..\Benchmarks\BenchmarkFirst.cs" Link="BenchmarkFirst.cs" />
<Compile Include="..\Benchmarks\BenchmarkLast.cs" Link="BenchmarkLast.cs" />
<Compile Include="..\Benchmarks\BenchmarkOrderBy.cs" Link="BenchmarkOrderBy.cs" />
<Compile Include="..\Benchmarks\Benchmarks.cs" Link="Benchmarks.cs" />
<Compile Include="..\Benchmarks\BenchmarkSelect.cs" Link="BenchmarkSelect.cs" />
<Compile Include="..\Benchmarks\BenchmarkSequenceEqual.cs" Link="BenchmarkSequenceEqual.cs" />
<Compile Include="..\Benchmarks\BenchmarksMax.cs" Link="BenchmarksMax.cs" />
<Compile Include="..\Benchmarks\BenchmarksMin.cs" Link="BenchmarksMin.cs" />
<Compile Include="..\Benchmarks\BenchmarksRepeat.cs" Link="BenchmarksRepeat.cs" />
<Compile Include="..\Benchmarks\BenchmarkSum.cs" Link="BenchmarkSum.cs" />
<Compile Include="..\Benchmarks\BenchmarksWhereAggregate.cs" Link="BenchmarksWhereAggregate.cs" />
<Compile Include="..\Benchmarks\BenchmarkWhereSum.cs" Link="BenchmarkWhereSum.cs" />
<Compile Include="..\Benchmarks\Config.cs" Link="Config.cs" />
</ItemGroup>

<ItemGroup>
<PackageReference Include="BenchmarkDotNet" Version="0.11.5" />
</ItemGroup>
Expand All @@ -21,6 39,7 @@
<ProjectReference Include="..\LinqFasterParallelSIMD\LinqFasterParallelSIMD.csproj" />
<ProjectReference Include="..\LinqFasterParallel\LinqFasterParallel.csproj" />
<ProjectReference Include="..\LinqFasterSIMD\LinqFasterSIMD.csproj" />
<ProjectReference Include="..\LinqFasterSpan\LinqFasterSpan.csproj" />
<ProjectReference Include="..\LinqFaster\LinqFaster.csproj" />
</ItemGroup>

Expand Down
252 changes: 0 additions & 252 deletions BenchmarksCore/Program.cs

This file was deleted.

8 changes: 7 additions & 1 deletion LinqFaster.sln
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 21,9 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tests", "Tests\Tests.csproj
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Benchmarks", "Benchmarks\Benchmarks.csproj", "{42DD1432-5209-49B3-81D7-B487A9DBF2F3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BenchmarksCore", "BenchmarksCore\BenchmarksCore.csproj", "{6F05ABE2-B763-47E3-B255-6A0F75A6CEDC}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BenchmarksCore", "BenchmarksCore\BenchmarksCore.csproj", "{6F05ABE2-B763-47E3-B255-6A0F75A6CEDC}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LinqFasterSpan", "LinqFasterSpan\LinqFasterSpan.csproj", "{68835792-9274-4DDC-8312-29700EF16F62}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Expand Down Expand Up @@ -57,6 59,10 @@ Global
{6F05ABE2-B763-47E3-B255-6A0F75A6CEDC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6F05ABE2-B763-47E3-B255-6A0F75A6CEDC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6F05ABE2-B763-47E3-B255-6A0F75A6CEDC}.Release|Any CPU.Build.0 = Release|Any CPU
{68835792-9274-4DDC-8312-29700EF16F62}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{68835792-9274-4DDC-8312-29700EF16F62}.Debug|Any CPU.Build.0 = Debug|Any CPU
{68835792-9274-4DDC-8312-29700EF16F62}.Release|Any CPU.ActiveCfg = Release|Any CPU
{68835792-9274-4DDC-8312-29700EF16F62}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down
Loading