• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 09:26
CEST 15:26
KST 22:26
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
Team Liquid Map Contest #22: Results and Winners7Code S Season 2 (2026): RO4 and Finals Preview12TL.net Map Contest #22 - Voting & Ladder Map Selection7Code S Season 2 (2026) - RO8 Preview7[ASL21] Finals Preview: Two Legacies21
Community News
Weekly Cups (June 8-14): Clem and Solar double, PTR tested0RSL: S6 Finals played at BlizzCon 202611Douyu Cup 2026: $20,000 Legends Event (June 26-28)10[BSL22] Non-Korean Championship from 13 to 28 June4Weekly Cups (May 25-31): Clem doubles, 2v2 circuit heads toward finale0
StarCraft 2
General
Daily SC2 Player Grid - feedback wanted StarCraft II 5.0.16 PTR Patch Notes may 26th TL Poll: How do you feel about the 5.0.16 PTR balance changes? Code S Season 2 (2026) - RO8 Preview Updates to The Core/Core Lite for v5.0.16?
Tourneys
Master Swan Open (Global Bronze-Master 2) GSL CK #4 20-21th June Crank Gathers Season 4: BW vs SC2 Team League Douyu Cup 2026: $20,000 Legends Event (June 26-28) Maestros of The Game 2 announcement and schedule !
Strategy
[G] Having the right mentality to improve
Custom Maps
Work In Progress Melee Maps [D]RTS in all its shapes and glory <3
External Content
Mutation # 530 One For All The PondCast: SC2 News & Results Mutation # 529 Opportunities Unleashed Mutation # 528 Infection Detected
Brood War
General
BW General Discussion BGH Auto Balance -> http://bghmmr.eu/ VPN experiences Data needed vespene.gg — BW replays in browser
Tourneys
[Megathread] Daily Proleagues [ASL21] Grand Finals [BSL22] Grand Finals - Sunday 21:00 CEST Escore Tournament StarCraft Season 2
Strategy
Simple Questions, Simple Answers Relatively freeroll strategies Creating a full chart of Zerg builds Why doesn't anyone use restoration?
Other Games
General Games
Nintendo Switch Thread Stormgate/Frost Giant Megathread ZeroSpace Megathread Beyond All Reason Total War: Warhammer 40K
Dota 2
Looking for a Dota Mentor Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug
TL Mafia
Vanilla Mini Mafia
Community
General
Russo-Ukrainian War Thread US Politics Mega-thread The Games Industry And ATVI UK Politics Mega-thread [H]Internet/Gaming Cafe Tips and Tricks
Fan Clubs
The HerO Fan Club! The herO Fan Club!
Media & Entertainment
Movie Discussion! [Req][Books] Good Fantasy/SciFi books [TV/BOOK] *SPOILERS* Game of Thrones Discussion [Manga] One Piece
Sports
2024 - 2026 Football Thread TeamLiquid Health and Fitness Initiative For 2023 Formula 1 Discussion Cricket [SPORT] NBA General Discussion
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread Facing Challenges in Mobile App Development
TL Community
The Automated Ban List
Blogs
How To Predict Tilt in Espor…
TrAiDoS
An Exploration of th…
waywardstrategy
I'm an arrogant trash talke…
FlaShFTW
Gauntlet SC2: A Retrospectiv…
Ctone23
Why RTS gamers make better f…
gosubay
Customize Sidebar...

Website Feedback

Closed Threads



Active: 9231 users

The Big Programming Thread - Page 878

Forum Index > General Forum
Post a Reply
Prev 1 876 877 878 879 880 1032 Next
Thread Rules
1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution.
2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20)
3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible.
4. Use [code] tags to format code blocks.
supereddie
Profile Joined March 2011
Netherlands151 Posts
April 27 2017 20:33 GMT
#17541
On April 28 2017 02:20 enigmaticcam wrote:
If anyone here is familiar with Microsoft SQL Server, I have an optimization question too:

Why does this script only take 1 second to run...
*snip*
...and yet this script takes about 10 minutes.
*snip*
The table size is about 22 million rows. So I know the issue is that one is doing a distinct on the entire table, and one is doing a distinct only on the temp table. But I would think the second one would first filter for the smaller subset before performing the distinct, but clearly it's not. Is there a reason for that?

1. Set an index on BrandlabelCode include BrandLabelName. Also properly index VistaarExtractStagingArchive
2. distinct is slow. try to avoid it.
3. perhaps create a 'brands'-table, so you don't have to distinct on masterproduct
4. analyzing the query plan will show you the exact problems
5. you can also use the 'with'-statement that may speed up execution, for example:
with temp as(
select
PSID
, Product
, [Geography]
, EffectiveMonth
from vistaar.VistaarExtractStagingArchive
where JobRequestId = @jobRequestId
), brands as(
select distinct BrandLabelName, BrandLabelCode
from Vistaar.MasterProduct
)
select distinct
PSID
, Product as BL
, b.BrandLabelName as BLName
, [Geography] as Market
, EffectiveMonth
from temp a
left join brands b on b.BrandLabelCode = a.Product
"Do not try to make difficult things possible, but make simple things simple." - David Platt on Software Design
supereddie
Profile Joined March 2011
Netherlands151 Posts
April 27 2017 20:42 GMT
#17542
On April 27 2017 16:31 Manit0u wrote:
Back to SQL again... With the problem I posted some time back.

We have: A has many B, C has many B.

Now, we do filtering on C matching A where C has no B or CB are a subset of AB.

The thing is, it's pretty slow as soon as you hit about a million records in the db (1.5s query), which is no good for us.

Any ideas how can you optimize it in postgres?

Right now we have join tables that are being aggregated into views (stale data is unacceptable since it's used for live time pooling and assigning C to A with race conditions and all that jazz).

Edit: I'm seriously considering dropping the join tables and simply dumping all the related ids into an uuid[] column in respective tables.

It would help if you post a sample query. I'm sure postgres has an query or execution plan analyzer.
Some databases can't utilize indexes properly if your conditions are in a different order than columns in your index.Also if you have a 'in()' condition, usually you should not reference tables outside the subselect.
"Do not try to make difficult things possible, but make simple things simple." - David Platt on Software Design
enigmaticcam
Profile Blog Joined October 2010
United States280 Posts
April 27 2017 22:53 GMT
#17543
On April 28 2017 05:33 supereddie wrote:1. Set an index on BrandlabelCode include BrandLabelName. Also properly index VistaarExtractStagingArchive
2. distinct is slow. try to avoid it.
3. perhaps create a 'brands'-table, so you don't have to distinct on masterproduct
4. analyzing the query plan will show you the exact problems
5. you can also use the 'with'-statement that may speed up execution, for example:
with temp as(
select
PSID
, Product
, [Geography]
, EffectiveMonth
from vistaar.VistaarExtractStagingArchive
where JobRequestId = @jobRequestId
), brands as(
select distinct BrandLabelName, BrandLabelCode
from Vistaar.MasterProduct
)
select distinct
PSID
, Product as BL
, b.BrandLabelName as BLName
, [Geography] as Market
, EffectiveMonth
from temp a
left join brands b on b.BrandLabelCode = a.Product

Thanks for the help! These I would definitely implement if I hadn't already got a query that gives me a return in 1 second I was asking mostly because I found it odd that the sub-query approach took so long, because I use sub-queries a lot and usually they work just fine in doing filtering like this. I'm thinking it was the distinct; somehow that made it decide to do a full table scan before filtering.
berated-
Profile Blog Joined February 2007
United States1134 Posts
April 28 2017 02:18 GMT
#17544
On April 28 2017 07:53 enigmaticcam wrote:
Show nested quote +
On April 28 2017 05:33 supereddie wrote:1. Set an index on BrandlabelCode include BrandLabelName. Also properly index VistaarExtractStagingArchive
2. distinct is slow. try to avoid it.
3. perhaps create a 'brands'-table, so you don't have to distinct on masterproduct
4. analyzing the query plan will show you the exact problems
5. you can also use the 'with'-statement that may speed up execution, for example:
with temp as(
select
PSID
, Product
, [Geography]
, EffectiveMonth
from vistaar.VistaarExtractStagingArchive
where JobRequestId = @jobRequestId
), brands as(
select distinct BrandLabelName, BrandLabelCode
from Vistaar.MasterProduct
)
select distinct
PSID
, Product as BL
, b.BrandLabelName as BLName
, [Geography] as Market
, EffectiveMonth
from temp a
left join brands b on b.BrandLabelCode = a.Product

Thanks for the help! These I would definitely implement if I hadn't already got a query that gives me a return in 1 second I was asking mostly because I found it odd that the sub-query approach took so long, because I use sub-queries a lot and usually they work just fine in doing filtering like this. I'm thinking it was the distinct; somehow that made it decide to do a full table scan before filtering.


His point #4 about query plans is the most important. If you can learn to read them it will take all of the guess work out of trying to figure out what happened.
supereddie
Profile Joined March 2011
Netherlands151 Posts
Last Edited: 2017-04-28 07:27:50
April 28 2017 07:26 GMT
#17545
On April 28 2017 07:53 enigmaticcam wrote:
Show nested quote +
On April 28 2017 05:33 supereddie wrote:1. Set an index on BrandlabelCode include BrandLabelName. Also properly index VistaarExtractStagingArchive
2. distinct is slow. try to avoid it.
3. perhaps create a 'brands'-table, so you don't have to distinct on masterproduct
4. analyzing the query plan will show you the exact problems
5. you can also use the 'with'-statement that may speed up execution, for example:
with temp as(
select
PSID
, Product
, [Geography]
, EffectiveMonth
from vistaar.VistaarExtractStagingArchive
where JobRequestId = @jobRequestId
), brands as(
select distinct BrandLabelName, BrandLabelCode
from Vistaar.MasterProduct
)
select distinct
PSID
, Product as BL
, b.BrandLabelName as BLName
, [Geography] as Market
, EffectiveMonth
from temp a
left join brands b on b.BrandLabelCode = a.Product

Thanks for the help! These I would definitely implement if I hadn't already got a query that gives me a return in 1 second I was asking mostly because I found it odd that the sub-query approach took so long, because I use sub-queries a lot and usually they work just fine in doing filtering like this. I'm thinking it was the distinct; somehow that made it decide to do a full table scan before filtering.

If you don't have an index on the columns you use in the statement, then it must do a full table scan to determine all the different values. However, don't blindly create indexes - maybe there are already indexes on the table but the query optimizer finds them not usable (because of the fields used or something).
When having performance issues in any RDBMS always try to check the execution plan. It will tell you exactly how the query is executed.
"Do not try to make difficult things possible, but make simple things simple." - David Platt on Software Design
solidbebe
Profile Blog Joined November 2010
Netherlands4921 Posts
April 28 2017 13:20 GMT
#17546
Thank you for the suggestions guys!
That's the 2nd time in a week I've seen someone sig a quote from this GD and I have never witnessed a sig quote happen in my TL history ever before. -Najda
enigmaticcam
Profile Blog Joined October 2010
United States280 Posts
April 28 2017 16:21 GMT
#17547
On April 28 2017 16:26 supereddie wrote:If you don't have an index on the columns you use in the statement, then it must do a full table scan to determine all the different values. However, don't blindly create indexes - maybe there are already indexes on the table but the query optimizer finds them not usable (because of the fields used or something).
When having performance issues in any RDBMS always try to check the execution plan. It will tell you exactly how the query is executed.

I forgot to mention that there is an index on the JobRequestId. My bad, that probably would've made it more clear as to why I was a bit confused as to how long that report was taking.

I know the execution plan is a big help in times like this, it's just that I've honestly never spent the time to learn how to read it. Guess I should probably do that :D
Deleted User 3420
Profile Blog Joined May 2003
24492 Posts
Last Edited: 2017-04-29 23:56:09
April 29 2017 14:54 GMT
#17548
anyone around for a little bit that I could message a few questions about dup2 and pipes to?

edit: eh ill just post it


I am making a shell I have a parent process that does this every time a command is executed that is supposed to pipe to another command:


if (dup2(STDOUT_FILENO, pipe_fd[1]) < 0) {
err(EX_OSERR, "dup2 error");
}
[code]

This sets my pipe's write side to stdout

the child process does this:

[code]

if (dup2(pipe_fd[0], STDIN_FILENO) < 0) {
err(EX_OSERR, "dup2 error");
}

if (dup2(pipe_fd[1], STDOUT_FILENO) < 0) {
err(EX_OSERR, "dup2 error");
}


if a child process is part of the piping, it takes stdin from other commands (from the pipe) and sends stdout into the write end

now of course there is a lot more to my code than this, I have to check certain situations, but this is the gist

here is what is going on that I don't understand

If I run a command series that has 1 pipe, this works fine (which I think it shouldn't....)

echo hello | grep e

it works great. my code sees a pipe conjunction, opens a pipe, process the first command
forks, child redirects to and from pipe and the first command goes into the pipe

second command processes, parent sets write end of pipe to stdout
child (which actually executes the command) sets the read end and write end to both point to pipe

child does read from pipe, but apparently writes to stdout. why does it write to stdout? shouldn't it write to the pipe? the child code comes after the parent code, the child should be redirecting the write into the pipe, no? what is going on


and if I do a command like

ls | more | grep e

it doesn't work. it processes the first 2 commands correctly, and then the "more" writes to stdout and grep e reads an empty buffer.

There is something about dup2 and pipes that I am missing. For some reason if I do


if (dup2(pipe_fd[1], STDOUT_FILENO) < 0) {
err(EX_OSERR, "dup2 error");
}



if (dup2(STDOUT_FILENO, pipe_fd[1]) < 0) {
err(EX_OSERR, "dup2 error");
}


I can never point stdout back to my pipe. it's like that side of my pipe is gone. how am I using this incorrectly


edit: I get the impression no one here is into this stuff, lol
don't blame ya
Deleted User 3420
Profile Blog Joined May 2003
24492 Posts
Last Edited: 2017-04-30 11:44:39
April 30 2017 00:04 GMT
#17549
ok here is a question you guys will probably like more (though I suspect it's super easy)

the question is


x=0
For i=1 to n
For j=i to i+1
x=x+i+j; (This is just one step)


Find a function f(n) such that the runtime is Θ(f(n)).

Big theta means both Big O and Big omega?

So the function that it wants is f(n) = n ?
is this right?
seems a little easy so I am probably screwing it up
Manit0u
Profile Blog Joined August 2004
Poland17768 Posts
April 30 2017 07:01 GMT
#17550
Won't that be n^2 + 1?
Time is precious. Waste it wisely.
supereddie
Profile Joined March 2011
Netherlands151 Posts
April 30 2017 07:55 GMT
#17551
On April 30 2017 09:04 travis wrote:
ok here is a question you guys will probably like more (though I suspect it's super easy)

the question is


x=0
For i=1 to n
For j=i to i+1
x=x+i+j; (This is just one step)


Find a function f(n) such that the runtime is Θ(f(n)).

Big theta means both Big O and Big?

So the function that it wants is f(n) = n ?
is this right?
seems a little easy so I am probably screwing it up

I'm not that good in math, but I just put n=1 ... n=4 into a spreadsheet and fiddled with it to see a pattern.
I noticed that this is the same:

x=0
xi=0
xj=0
For i=1 to n
For j=i to i+1
xi++;
xj++;
endfor
endfor
x = xi + xj;

Since all that happens for j is '1+2+3+4', times n, and for i is '1+2+3' times n+1, all I need is a formula for 1+2+3+4. Looking up 1+2+3+4 lead me to Wikipedia and the formula x = n*(n+1)/2.
Since you have two 1+2+3+4..., one until n and one until n+1, the resulting function would be:

nj = n+1
x = nj * (n * (n + 1) / 2) + n * (nj * (nj + 1) / 2)

There is probably a better or nicer function but this seems to work.
"Do not try to make difficult things possible, but make simple things simple." - David Platt on Software Design
Acrofales
Profile Joined August 2010
Spain18318 Posts
Last Edited: 2017-04-30 09:04:22
April 30 2017 08:55 GMT
#17552
On April 30 2017 09:04 travis wrote:
ok here is a question you guys will probably like more (though I suspect it's super easy)

the question is


x=0
For i=1 to n
For j=i to i+1
x=x+i+j; (This is just one step)


Find a function f(n) such that the runtime is Θ(f(n)).

Big theta means both Big O and Big?

So the function that it wants is f(n) = n ?
is this right?
seems a little easy so I am probably screwing it up

Are you sure the second loop looks like that? Because that's essentially the exact same thing as:


x=0
For i=1 to n
x=x+2*i;


So f(n) = n seems spot on. But I agree that that seems rather trivial.

Edit: I'm assuming your for-loop pseudocode runs without including the end condition. If it does include the end condition the above code does not do the same, but that just means it runs twice for every i, so big-theta complexity is still n.
Deleted User 3420
Profile Blog Joined May 2003
24492 Posts
Last Edited: 2017-04-30 12:02:43
April 30 2017 11:58 GMT
#17553
eddie are you and manitou misreading the code?
I couldn't really understand your solution, eddie.

But I think you guys are misinterpreting the 2nd line


For j=i to i+1


as something like

For j = 1 to i+1


acrofales, what do you mean by "you're assuming my for-loop runs without including the end condition"? What do you mean by the end condition?


To be honest I have a suspicion that it *was* supposed to be something like j = 1 to i+1 in the 2nd loop, but I am going to go with what's on the paper, lol. If it's the professors mistake I will take advantage of it
Acrofales
Profile Joined August 2010
Spain18318 Posts
April 30 2017 12:10 GMT
#17554
On April 30 2017 20:58 travis wrote:
eddie are you and manitou misreading the code?
I couldn't really understand your solution, eddie.

But I think you guys are misinterpreting the 2nd line


For j=i to i+1


as something like

For j = 1 to i+1


acrofales, what do you mean by "you're assuming my for-loop runs without including the end condition"? What do you mean by the end condition?


To be honest I have a suspicion that it *was* supposed to be something like j = 1 to i+1 in the 2nd loop, but I am going to go with what's on the paper, lol. If it's the professors mistake I will take advantage of it


Does "to" mean "up to and including", or "up to, but excluding": in other words, "<=" or "<". For the time complexity it doesn't matter (it's a constant factor), but in case of the former, my refactoring of the code would be wrong.


supereddie
Profile Joined March 2011
Netherlands151 Posts
April 30 2017 14:25 GMT
#17555
On April 30 2017 20:58 travis wrote:
eddie are you and manitou misreading the code?
I couldn't really understand your solution, eddie.

But I think you guys are misinterpreting the 2nd line


For j=i to i+1


as something like

For j = 1 to i+1


acrofales, what do you mean by "you're assuming my for-loop runs without including the end condition"? What do you mean by the end condition?


To be honest I have a suspicion that it *was* supposed to be something like j = 1 to i+1 in the 2nd loop, but I am going to go with what's on the paper, lol. If it's the professors mistake I will take advantage of it

Ah, i read it as
For j = 1 to i+1

I don't like one-letter variablenames :p

Still, just write out the first few n-values (n=1, n=2, n=3, n=4) and try to find a formula. I created a simple spreadsheet with columns for x, i and j and just filled in the values for different n.

The sum of i can be represented with: n + n^2
Sum of j = i + n = (n + n^2) + n = 2n + n^2
x = i + j = (n + n^2) + (2n + n^2) = 3n + 2n^2
"Do not try to make difficult things possible, but make simple things simple." - David Platt on Software Design
Hanh
Profile Joined June 2016
146 Posts
April 30 2017 14:53 GMT
#17556
On April 29 2017 23:54 travis wrote:
anyone around for a little bit that I could message a few questions about dup2 and pipes to?

edit: eh ill just post it

...



I couldn't understand much of what you said but here's some code that should help you understand pipe and dup2.

+ Show Spoiler +


#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>

void close_fds(int* fd) {
close(fd[0]);
close(fd[1]);
}

void run_pipe(char** cmds, int n) {
printf("CMD: %s\n", cmds[0]);
if (n == 1) {
execl("/bin/sh", "sh", "-c", cmds[0], NULL);
}
else {
int fd[2];

pipe(fd);
pid_t pid = fork();
if (pid == 0) {
dup2(fd[1], 1);
close_fds(fd);
execl("/bin/sh", "sh", "-c", cmds[0], NULL);
}
else {
dup2(fd[0], 0);
close_fds(fd);
run_pipe(cmds + 1, n - 1);
}
}
}

int main() {
char *cmds[] = { "ls -l ..", "grep core", "wc"};

run_pipe(cmds, 3);
}


Deleted User 3420
Profile Blog Joined May 2003
24492 Posts
April 30 2017 15:25 GMT
#17557
this is pretty close to the implementation I ended up using for my program

though I am having a ton of trouble with soemthing like


(ls | more) | more


because I fork and then send the contents of my subshell back to my tree traversal, and when it sees the new pipe it doesn't know how to handle the difference between being in a subshell vs being out of one. When I get on the right side of the pipe in the subshell I end up having closed both ends of the pipe, and then when the "more" tries to read from the pipe there is nothing in it (or some other sort of problem), and my program breaks

this project is really hard :/

maybenexttime
Profile Blog Joined November 2006
Poland5824 Posts
Last Edited: 2017-04-30 15:28:17
April 30 2017 15:27 GMT
#17558
If some calculation can be done element-wise on whole matrices/vectors, should I still define it as a function or just put it in the calculations block? Is defining it as a function considered redundant? If it weren't possible to do it element-wise, I would need to use a for-loop and defining a function would be as obvious solution, but I'm not sure what to do in this case.

def assign_location(i, j):

L_el = np.array([2*i-1, 2*i, 2*j-1, 2*j])

return L_el
Hanh
Profile Joined June 2016
146 Posts
April 30 2017 15:47 GMT
#17559
On May 01 2017 00:25 travis wrote:
this is pretty close to the implementation I ended up using for my program

though I am having a ton of trouble with soemthing like


(ls | more) | more


because I fork and then send the contents of my subshell back to my tree traversal, and when it sees the new pipe it doesn't know how to handle the difference between being in a subshell vs being out of one. When I get on the right side of the pipe in the subshell I end up having closed both ends of the pipe, and then when the "more" tries to read from the pipe there is nothing in it (or some other sort of problem), and my program breaks

this project is really hard :/


What's the syntax that it needs to support?
Deleted User 3420
Profile Blog Joined May 2003
24492 Posts
Last Edited: 2017-04-30 16:05:59
April 30 2017 16:05 GMT
#17560
I don't understand the question

the syntax of the commands themselves are the same as in any shell

the syntax in the tree is a tree of structures that have various fields, the 2 most important fields being an enum that can be "pipe" "subshell" or "and", or an array of strings that represents a commmand with it's arguments

so I traverse the tree and if it is a conjunction I take the proper action (fork off a subshell, open a pipe, or do nothing if its and). if I am forking off a subshell the child sends the stuff that is under on the subshell back to the traversal function while the parent waits for the traversal/child to finish.

if it's a command I fork and the parent waits for the child to exec the command.


so I have 4 primary functions in play here

function 1 traverses the tree

function 2 reads what type of node it is and takes an appropriate action

function 3 reads commands that are found by function 2, forks and execs in the child. also handles where read and write go to if my "piping" global int is greater than 0

function 4 opens a subshell if found by function one. it forks, in the child sets write to the pipe if a pipe is open, and closes read if a pipe is open, then sets "piping" to 0. then the child sends the node below it to the tree for traversal.


This works for all cases except for where we have to open a new pipe in a subshell. that's because in the subshell I had set "piping" to 0. So when we open a new pipe, we act like there is only one pipe open, so it opens the pipe, passes it to the second command in the subshell, closes the pipe). But that sends the read to standard out rather than to the pipe that is outside of our subshell.


Hopefully you can read this stuff and stay sane.


Prev 1 876 877 878 879 880 1032 Next
Please log in or register to reply.
Live Events Refresh
OSC
13:00
King of the Hill #253
EmpressLilyy14
Liquipedia
WardiTV Spring Champion…
11:00
Playoffs
Solar vs ZounLIVE!
ByuN vs TBD
WardiTV1112
IntoTheiNu 898
TaKeTV 350
TKL 212
Rex168
Ryung 134
IndyStarCraft 124
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
ByuN 401
TKL 212
Rex 168
Ryung 134
IndyStarCraft 124
MindelVK 26
StarCraft: Brood War
Sea 2128
Mini 1396
Shuttle 1114
Horang2 844
Jaedong 778
Soulkey 495
EffOrt 408
firebathero 360
ggaemo 176
Snow 174
[ Show more ]
Last 164
BeSt 162
actioN 159
Killer 133
Mong 110
Zeus 100
Movie 95
Free 92
Pusan 81
hero 80
Hyun 70
Sharp 69
JYJ 49
ToSsGirL 49
Sea.KH 47
Bale 33
Hm[arnc] 30
Aegong 26
HiyA 22
sorry 20
zelot 19
Sacsri 18
GoRush 16
soO 15
IntoTheRainbow 14
ajuk12(nOOB) 14
Barracks 13
Nal_rA 11
Rock 5
Dota 2
qojqva1548
Dendi1403
BananaSlamJamma129
420jenkins35
Counter-Strike
olofmeister1576
shoxiejesuss895
fl0m0
Other Games
singsing2436
Liquid`RaSZi1133
hiko726
Lowko451
B2W.Neo352
crisheroes286
DeMusliM232
QueenE75
Trikslyr25
Organizations
StarCraft: Brood War
lovetv 13
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 13 non-featured ]
StarCraft 2
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Jankos1716
• Nemesis729
• TFBlade599
Upcoming Events
OSC
10h 34m
CranKy Ducklings
20h 34m
WardiTV Spring Champion…
21h 34m
Cure vs SKillous
Big Brain Bouts
1d 2h
Maplez vs eGGz
Reynor vs Solar
WardiTV Spring Champion…
1d 21h
GSL
1d 22h
Maru vs ShoWTimE
Classic vs Reynor
herO vs Lambo
Solar vs Clem
BSL22 NKC (BSL vs China)
2 days
XuanXuan vs Jaystar
Mihu vs Messiah
eOnzErG vs Dewalt
Bonyth vs Jaystar
TerrOr vs Messiah
XuanXuan vs Mihu
eOnzErG vs Jaystar
Replay Cast
2 days
WardiTV Spring Champion…
2 days
GSL
2 days
[ Show More ]
Patches Events
3 days
BSL22 NKC (BSL vs China)
3 days
Dewalt vs Messiah
Bonyth vs Mihu
TerrOr vs XuanXuan
eOnzErG vs Messiah
Jaystar vs Mihu
Dewalt vs XuanXuan
Bonyth vs TerrOr
Replay Cast
3 days
WardiTV Weekly
3 days
Sparkling Tuna Cup
4 days
Douyu Cup 2020
6 days
Oliveira vs Trap
Jieshi vs XY
soO vs FanTaSy
TY vs Coffee
The PondCast
6 days
Liquipedia Results

Completed

Proleague 2026-06-16
uThermal 2v2 2026 Main Event
Heroes Pulsing #1

Ongoing

IPSL Spring 2026
KCM Race Survival 2026 Season 2
Acropolis #4
CSCL: Masked Kings S4
YSL S3
BSL 22 Non-Korean Championship
SCTL 2026 Spring
Maestros of the Game 2
WardiTV Spring 2026
Murky Cup 2026
Heroes Pulsing #2
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
Asian Champions League 2026
IEM Atlanta 2026
PGL Astana 2026
BLAST Rivals Spring 2026
IEM Rio 2026
PGL Bucharest 2026

Upcoming

CSL 2026 Summer (S21)
CSLAN 4
Blizzard Classic Cup 2026
Kung Fu Cup 2026 Grand Finals
RSL Revival: Season 6
CranK Gathers Season 4: BW vs SC2 Team League
HSC XXIX
Douyu Cup 2026
BCC 2026
Heroes Pulsing #3
BLAST Open Fall 2026
Esports World Cup 2026
Stake Pulse Beat 1
BLAST Bounty Summer 2026
BLAST Bounty Summer Qual
Stake Ranked Episode 3
XSE Pro League 2026
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.