Skip to content

Instantly share code, notes, and snippets.

@musukvl
musukvl / Program.cs
Created December 26, 2018 17:37
ASP.NET Core Hello Word with SampleMiddleware
using System;
using System.Threading.Tasks;
using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.DependencyInjection;
namespace WebApplication1
{
@musukvl
musukvl / sample.js
Created October 15, 2018 07:33
Node.js db access parallelism sample
async function getUserProfile(userId) {
let [user, groups] = await Promise.all([
db.getUser(userId),
db.getUserGroups(userId)
]);
return {userId, user, groups};
}
using System;
using System.Collections.Concurrent;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
namespace Common.Async
{
public class LimitedLengthActionPool : IDisposable
{
@musukvl
musukvl / AsyncWhile1.cs
Last active January 15, 2018 21:33
AsyncWhile1.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
namespace TestApp
{
public class ParallelWhile
@musukvl
musukvl / ShardDbContext.cs
Created November 2, 2017 14:38
Using shared db context to create 100 000 records
using (var dbContext = new MainDbContext())
{
for (var i = 0; i < 100000; i++)
{
dbContext.Logs.Add(new Log()
{
Key = Guid.NewGuid().ToString("D"),
Data = "some random data:" + Guid.NewGuid().ToString("D"),
UpdatedDate = DateTime.UtcNow
});
@musukvl
musukvl / EFSaveChanges.cs
Created November 2, 2017 14:35
Insert 100 000 rows to ms sql server by Entity Framework SaveChanges
for (var i = 0; i < 100000; i++)
{
using (var dbContext = new MainDbContext())
{
dbContext.Logs.Add(new Log()
{
Key = Guid.NewGuid().ToString("D"),
Data = "some random data:" + Guid.NewGuid().ToString("D"),
UpdatedDate = DateTime.UtcNow
});
@musukvl
musukvl / SQLServerInsert.cs
Created November 2, 2017 14:15
Insert 100 000 from C# code
using (var dbContext = new MainDbContext())
{
for (var i = 0; i < 100000; i++)
{
dbContext.Database.ExecuteSqlCommand(
@"INSERT INTO [dbo].[Log] ([Key], [Data], [UpdatedDate])
VALUES (
convert(nchar(36), NEWID()),
'Some random data:' + convert(nchar(36), NEWID()),
GETDATE())");
@musukvl
musukvl / mongo-function.js
Created November 2, 2017 14:12
MongoDB function to create 100 000 documents
db.system.js.save({
_id: "test",
value: function () {
var start = new Date();
for (var i = 1; i <= 100000; i++) {
db.getCollection('log').insert({
"key": (new ObjectId()).toString(),
"data": "some random data: " + (new ObjectId()).toString(),
"updated_date": new Date()
})
@musukvl
musukvl / mongo-query.js
Created November 2, 2017 14:05
Mongo Query to insert 100000 log records
var start = new Date();
for (var i = 1; i <= 100000; i++) {
db.getCollection('log').insert({
"key": (new ObjectId()).toString(),
"data": "some random data: " + (new ObjectId()).toString(),
"updated_date": new Date()
})
}
print(new Date() - start);
@musukvl
musukvl / performance-test.sql
Created November 2, 2017 13:59
SQL Query to insert 100 000 records
declare @i int
set @i = 1
while @i <= 100000
begin
INSERT INTO [dbo].[Log] ([Key], [Data], [UpdatedDate])
VALUES
(convert(nchar(36), NEWID()),
'Some random data:' + convert(nchar(36), NEWID()),
GETDATE())